モジュール 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 (すでに表示されていた場合)と、表示中のすべてのサブメニューを非表示にします。 このメニューが表示されていない場合は、この関数を起動しても何も行われません。
      • addEventHandler

        public <E extends Event> void addEventHandler​(EventType<E> eventType,
                                                      EventHandler<E> eventHandler)
        このMenuItemにイベント・ハンドラを登録します。 ハンドラは、メニュー・アイテムがイベント配信のバブリング・フェーズ中に指定のタイプのEventを受け取ると呼び出されます。
        オーバーライド:
        addEventHandler 、クラス: MenuItem
        型パラメータ:
        E - ハンドラの特定のイベント・クラス
        パラメータ:
        eventType - ハンドラが受け取るイベントのタイプ
        eventHandler - 登録するハンドラ
      • removeEventHandler

        public <E extends Event> void removeEventHandler​(EventType<E> eventType,
                                                         EventHandler<E> eventHandler)
        以前に登録したイベント・ハンドラをこのMenuItemから登録解除します。 1つのハンドラが複数の異なるイベント・タイプに登録されているため、呼出し元はハンドラを登録解除する特定のイベント・タイプを指定する必要があります。
        オーバーライド:
        removeEventHandler 、クラス: MenuItem
        型パラメータ:
        E - ハンドラの特定のイベント・クラス
        パラメータ:
        eventType - 登録解除するイベント・タイプ
        eventHandler - 登録解除するハンドラ
      • buildEventDispatchChain

        public EventDispatchChain buildEventDispatchChain​(EventDispatchChain tail)
        このターゲットのイベント・ディスパッチ・チェーンを構築します。 イベント・ディスパッチ・チェーンには、このEventTargetを対象にしたイベントの処理に関係する可能性があるイベント・ディスパッチャが含まれます。 このイベント・ターゲットはチェーンに自動的には追加されないため、これがイベントを処理する場合は、それ自体のEventDispatcherをチェーンに追加する必要があります。

        イベント・ターゲットが階層の一部である場合、そのチェーンは通常、階層のルートからイベント・ターゲットまでの収集されたイベント・ディスパッチャから作成されます。

        イベント・ディスパッチ・チェーンは、提供される初期イベント・ディスパッチ・チェーンに対する変更によって構築されます。 返されるチェーンでは初期チェーンが最後にある必要があるため、ディスパッチャは初期チェーンの前に追加される必要があります。

        呼出し元は、初期チェーンが変更されないままであることや、返される値によって異なるチェーンが参照されることを想定できません。

        定義:
        buildEventDispatchChain 、インタフェース: EventTarget
        オーバーライド:
        buildEventDispatchChain 、クラス: MenuItem
        パラメータ:
        tail - 構築元となる初期チェーン
        戻り値:
        このターゲットの結果のイベント・ディスパッチ・チェーン