モジュール javafx.controls
パッケージ javafx.scene.control

クラスMenu

  • すべての実装されたインタフェース:
    Styleable, EventTarget

    @DefaultProperty("items")
    public class Menu
    extends MenuItem

    リクエスト時にのみユーザーに表示されるアクション可能なアイテムのポップアップ・メニュー。 メニューが表示可能である場合、ほとんどのユースケースでは、ユーザーが1つのメニュー・アイテムを選択すると、メニューが非表示状態に戻ります。 つまり、このメニューは、ユーザーに常に表示しておく必要がない重要な機能の配置に適しています。

    通常、メニューはMenuBarに配置されるか、または別のメニューのサブメニューとして配置されます。 ユーザーがユーザー・インタフェースの特定の領域で右クリックしたときにコンテキスト・メニューが表示されるようにすることを意図している場合、このコントロールを使用することは適切ではありません。 これは、Menuをシーングラフに追加すると、その視覚表現が画面に表示されるためです。 この場合は、かわりにContextMenuを使用します。

    次のように、簡単にMenuを作成してMenuBarに挿入できます。

    
     final Menu menu1 = new Menu("File");
     MenuBar menuBar = new MenuBar();
     menuBar.getMenus().add(menu1);
     

    MenuはMenuItemのサブクラスであるため、Menuのitems ObservableListに挿入してサブメニューを作成できます。

    
     MenuItem menu12 = new MenuItem("Open");
     menu1.getItems().add(menu12);
     

    アイテムObservableListでは、そのサブクラスであるMenuMenuItemRadioMenuItemCheckMenuItemCustomMenuItemSeparatorMenuItemを含め任意のMenuItemタイプを挿入できます。 任意のNodeをメニューに挿入するには、CustomMenuItemを使用できます。 この一般的なルールの1つの例外は、SeparatorMenuItemをセパレータの挿入に使用できることです。

    導入されたバージョン:
    JavaFX 2.0
    関連項目:
    MenuBarMenuItem
    • フィールドの詳細

      • ON_SHOWING

        public static final EventType<Event> ON_SHOWING

        このメニューのcontextMenuが表示されると呼び出されます。 ただし、contextMenuが空の場合は呼び出されません。

      • ON_SHOWN

        public static final EventType<Event> ON_SHOWN

        このメニューのcontextMenuが表示されると呼び出されます。 ただし、contextMenuが空の場合は呼び出されません。

      • ON_HIDING

        public static final EventType<Event> ON_HIDING

        このメニューのcontextMenuが非表示になると呼び出されます。 ただし、contextMenuが空の場合は呼び出されません。

      • ON_HIDDEN

        public static final EventType<Event> ON_HIDDEN

        このメニューのcontextMenuが非表示になると呼び出されます。 ただし、contextMenuが空の場合は呼び出されません。

    • コンストラクタの詳細

      • Menu

        public Menu()
        表示テキストを空の文字列にしてメニューを構築します。
        導入されたバージョン:
        JavaFX 2.2
      • Menu

        public Menu​(String text)
        メニューを構築し、指定されたテキストで表示テキストを設定します。
        パラメータ:
        text - メニュー・ボタンに表示するテキスト
      • Menu

        public Menu​(String text,
                    Node graphic)
        メニューを構築し、指定されたテキストで表示テキストを設定し、グラフィックNodeを指定されたノードに設定します。
        パラメータ:
        text - メニュー・ボタンに表示するテキスト
        graphic - メニュー・ボタンに表示するグラフィック
      • Menu

        public Menu​(String text,
                    Node graphic,
                    MenuItem... items)
        Menuを構築し、指定されたテキストで表示テキストを設定し、グラフィックNodeを指定のノードに設定して、指定のアイテムをitemsリストに挿入します。
        パラメータ:
        text - メニュー・ボタンに表示するテキスト
        graphic - メニュー・ボタンに表示するグラフィック
        items - ポップアップ・メニューに表示するアイテム。
        導入されたバージョン:
        JavaFX 8u40
    • メソッドの詳細

      • isShowing

        public final boolean isShowing()
        プロパティshowingの値を取得します。
        プロパティの説明:
        ContextMenuが現在表示されているかどうかを示します。
        デフォルト値:
        false
      • onShowingProperty

        public final ObjectProperty<EventHandler<Event>> onShowingProperty()
        メニューに表示するアイテムがない場合でも、ContextMenuが表示される直前に呼び出されます。 ただし、メニューに有効なアンカー・ノードがない場合には呼び出されないことに注意してください。
        関連項目:
        getOnShowing()setOnShowing(EventHandler)
      • setOnShowing

        public final void setOnShowing​(EventHandler<Event> value)
        プロパティonShowingの値を設定します。
        プロパティの説明:
        メニューに表示するアイテムがない場合でも、ContextMenuが表示される直前に呼び出されます。 ただし、メニューに有効なアンカー・ノードがない場合には呼び出されないことに注意してください。
      • getOnShowing

        public final EventHandler<Event> getOnShowing()
        プロパティonShowingの値を取得します。
        プロパティの説明:
        メニューに表示するアイテムがない場合でも、ContextMenuが表示される直前に呼び出されます。 ただし、メニューに有効なアンカー・ノードがない場合には呼び出されないことに注意してください。
      • setOnShown

        public final void setOnShown​(EventHandler<Event> value)
        プロパティonShownの値を設定します。
        プロパティの説明:
        ContextMenuが表示された直後に呼び出されます。
      • getOnShown

        public final EventHandler<Event> getOnShown()
        プロパティonShownの値を取得します。
        プロパティの説明:
        ContextMenuが表示された直後に呼び出されます。
      • setOnHiding

        public final void setOnHiding​(EventHandler<Event> value)
        プロパティonHidingの値を設定します。
        プロパティの説明:
        ContextMenuが非表示になる直前に呼び出されます。
      • getOnHiding

        public final EventHandler<Event> getOnHiding()
        プロパティonHidingの値を取得します。
        プロパティの説明:
        ContextMenuが非表示になる直前に呼び出されます。
      • setOnHidden

        public final void setOnHidden​(EventHandler<Event> value)
        プロパティonHiddenの値を設定します。
        プロパティの説明:
        ContextMenuが非表示になった直後に呼び出されます。
      • getOnHidden

        public final EventHandler<Event> getOnHidden()
        プロパティonHiddenの値を取得します。
        プロパティの説明:
        ContextMenuが非表示になった直後に呼び出されます。
      • getItems

        public final ObservableList<MenuItem> getItems()
        このメニュー内に表示するアイテム。 このObservableListが実行時に変更された場合、メニューは想定どおりに更新されます。
        戻り値:
        アイテムのリスト
      • show

        public void show()
        メニューが無効ではなく、ContextMenuがまだ表示されていない場合は、ContextMenuが表示されます。
      • hide

        public void hide()
        ContextMenu (すでに表示されていた場合)と、表示中のすべてのサブメニューを非表示にします。 このメニューが表示されていない場合は、この関数を起動しても何も行われません。