TOPシステム開発> メニューウィンドウの定義
Ruby on RailsとAdobe AIRでデスクトップアプリを作る
Ruby on RailsとAdobe AIRでデスクトップアプリを作る

第4回:AIRでメニューウィンドウ作成!

著者:ワイズノット  増井 雄一郎   2007/9/25
前のページ  1  2  3
メニューウィンドウの定義

   さて、このMXMLを使ってメニューウィンドウを定義してみましょう。

   各コンポーネントの位置は、図1のようにします。
コンポーネントの位置
図1:コンポーネントの位置

   この図で示しているように、MXMLではコンポーネントの位置を左上から座標からだけでなく、上下左右、どの方向からの座標でも取ることができます。こうすることで、ウィンドウサイズが変わっても、レイアウトが崩れることはありません。図1をmxmlで定義するとmenu.mxmlのようになります。

memu.mxml

(画像をクリックすると別ウィンドウに拡大図を表示します)

   これを、実行してみましょう。まずは、menu.mxmlからmenu.swf生成します。前回のtest.asと同じようにamxmlcコマンドでコンパイルします。

> amxmlc menu.mxml

   コンパイルが成功すれば、menu.swfが生成されています。Mac OS Xでコンパイルしメッセージが文字化けしている場合には、ターミナルの文字コードがShift JISになっているか確認してください。

   次にadlコマンドで実行します

> adl stickies-app.xml

   図2(画面はMac OS Xで実行した結果)のようなウィンドウが表示されました。

付箋ウィンドウ
図2:付箋ウィンドウ

   通常のアプリケーションと同じようにリサイズすることもでき、サイズを変えてもレイアウトは崩れません。

   ウィンドウは表示されましたが、どのボタンを押しても反応はありません。ボタンを押した場合の処理を定義する方法はいくつかありますが、今回はHTMLのようにコンポーネントのタグにイベントを定義します。

   付箋を新規に作る、「新規」ボタンを押すとcreateという関数を呼び出すようにします。

memu.mxml

(画像をクリックすると別ウィンドウに拡大図を表示します)

   次に実際に付箋を作るcreate関数を定義します。MXMLの中でスクリプトを使うには<mx:Script>タグを使って、次のようにします。

memu.mxml

(画像をクリックすると別ウィンドウに拡大図を表示します)

   今回のサンプルでは、「新規」ボタンを押すと、空のウィンドウを表示します。

空ウィンドウの表示
図3:空ウィンドウの表示
(画像をクリックすると別ウィンドウに拡大図を表示します)

   ActionScriptで新しいウィンドウを開くには、NativeWindowというオブジェクトを作ります。詳細は、Developing AIR Applications with Adobe Flexの11章「Working with windows」を参照してください。

Developing AIR Applications with Adobe Flex
http://livedocs.adobe.com/labs/air/1/devappsflex/


次回は

   付箋紙のようなUIを作成し、家のPCでメモした付箋紙に、ノートPCや会社のPCからにアクセスする仕組みを構築します。

前のページ  1  2  3


株式会社ワイズノット 増井 雄一郎
著者プロフィール
株式会社ワイズノット  増井 雄一郎
PukiWikiなどのオープンソース活動を経て、2005年からRuby on Railsに的を絞り、2006年はRubyに関する仕事のみで生計をたてる。これまでのフリー活動から転身し、アメリカ行きを目指して2007年4月に(株)ワイズノットに入社。クロスメディア事業部でSaaSプラットフォームの構築に従事。現在の興味はテキストマイニング。


INDEX
第4回:AIRでメニューウィンドウ作成!
  付箋紙を表示するプログラムの作成
  メニューウィンドウを作る
メニューウィンドウの定義