Adobe AIR - ウィンドウメニューを作成する

ウィンドウに次のようなメニューを作成してみます。

メニューのイメージ

アプリケーションに必要な2つのファイルを用意します。(Adobe AIR - HTMLベースでHello World参照)

  • sample1-app.xmlアプリケーション記述ファイル
  • root.html

メニューの作成例

root.htmlにJavaScriptを記述します。

<script type="text/javascript">
function openfile() {
    air.trace("Openが選択されました。");
}
// 初期化
function init() {
    createMenu();
}
// メニューの作成
function createMenu() {
    var menu = new air.NativeMenu();
    var filemenu =  new air.NativeMenu();

    filemenu.addItem(new air.NativeMenuItem("Open"));
    filemenu.addItem(new air.NativeMenuItem("",true)); // セパレータ
    filemenu.addItem(new air.NativeMenuItem("Quit"));

    filemenu.items[0].addEventListener(air.Event.SELECT,openfile);

    menu.addSubmenu(filemenu,"File");

    if(air.NativeWindow.supportsMenu) {
        window.nativeWindow.menu = menu;
    }
}
</script>
<body onload="init()">

createMenuの中で、ルートメニューオブジェクトを作成します。

次にサブメニュー(Fileの部分)を作成し、addItemメソッドによりメニューアイテムを追加します。

選択されたメニューのイベント通知を受け取るように、addEventListenerメソッドでEventDispatcherオブジェクトに登録します。 これにより、メニューのOpenが選択されると「openfile()」が呼ばれます。

ルートメニューにサブメニューを追加し、ウィンドウにメニューを登録します。

air.NativeWindow.supportsMenuの評価部分は、Mac OS Xではサポートされていないためサポートされている場合のみ メニューを追加するようにしています。