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

クラスMenuButton

  • すべての実装されたインタフェース:
    Styleable, EventTarget, Skinnable
    直系の既知のサブクラス:
    SplitMenuButton


    public class MenuButton
    extends ButtonBase
    MenuButtonは、クリックするか、押したときにContextMenuが表示されるボタンです。 表示されるアイテムをitems ObservableListに設定し、かつMenuButton内に表示されるラベルを指定するためのLabeled.textプロパティがある場合、MenuButtonはMenuコントロールに非常によく似たAPIを共有します。

    前述のとおり、Menu API自体と同様に、items ObservableListでは、MenuItemから拡張したアイテムを提供できます。 MenuItemの有用なサブクラスには、RadioMenuItemCheckMenuItemMenuSeparatorMenuItemCustomMenuItemなどがあります。

    MenuButtonは、ボタンの任意の側にメニューを表示するように設定できます。 これを指定するには、popupSideプロパティを使用します。 デフォルトでは、メニューはボタンの下に表示されます。 ただし、popupSideの指定に関係なく、十分な領域がない場合には、ContextMenuは適宜(通常はMenuButtonの反対側に)配置されます。

    例:

     MenuButton m = new MenuButton("Eats");
     m.getItems().addAll(new MenuItem("Burger"), new MenuItem("Hot Dog"));
     

    MnemonicParsingは、MenuButtonではデフォルトで有効になっています。

    導入されたバージョン:
    JavaFX 2.0
    関連項目:
    MenuItemMenuSplitMenuButton
    • プロパティの詳細

      • popupSide

        public final ObjectProperty<Side> popupSideProperty
        MenuButtonについて、どちら側でContextMenuを開くかを示します。 メニュー・アイテムは、通常、いずれの場合も垂直にレイアウトされます。 たとえば、メニュー・ボタンがアプリケーションの左端の垂直ツールバーにある場合、popupSideSide.RIGHTに変更すると、MenuButtonの右側にポップアップが表示されるようになります。
        デフォルト値:
        Side.BOTTOM
        関連項目:
        getPopupSide()setPopupSide(Side)
    • フィールドの詳細

      • ON_SHOWING

        public static final EventType<Event> ON_SHOWING
        ユーザーがクリックしたか、そうでなければMenuButtonとやりとりした後で、そのポップアップを示すMenuButtonの前に呼び出されます。
        導入されたバージョン:
        JavaFX 8u60
      • ON_SHOWN

        public static final EventType<Event> ON_SHOWN
        MenuButtonがポップアップを表示した後に呼び出されます。
        導入されたバージョン:
        JavaFX 8u60
      • ON_HIDING

        public static final EventType<Event> ON_HIDING
        MenuButtonポップアップwillが非表示になったときに呼び出されます。
        導入されたバージョン:
        JavaFX 8u60
      • ON_HIDDEN

        public static final EventType<Event> ON_HIDDEN
        MenuButtonポップアップが非表示になったときに呼び出されます。
        導入されたバージョン:
        JavaFX 8u60
    • コンストラクタの詳細

      • MenuButton

        public MenuButton​(String text)
        新しい空のメニュー・ボタンを作成し、指定されたテキストがボタンに表示されるようにします。 Labeled.setGraphic(Node)およびgetItems()を使用して、そのコンテンツを設定します。
        パラメータ:
        text - メニュー・ボタンに表示するテキスト
      • MenuButton

        public MenuButton​(String text,
                          Node graphic)
        新しい空のメニュー・ボタンを作成し、指定されたテキストとグラフィックがボタンに表示されるようにします。 getItems()を使用して、そのコンテンツを設定します。
        パラメータ:
        text - メニュー・ボタンに表示するテキスト
        graphic - メニュー・ボタンに表示するグラフィック
      • MenuButton

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

      • getItems

        public final ObservableList<MenuItem> getItems​()
        このボタン・メニュー内に表示するアイテム。 このObservableListが実行時に変更された場合、メニューは想定どおりに更新されます。

        よく使用されるコントロールには、MenuItemCheckMenuItemRadioMenuItemなどに加えて、メニューに追加するとサブメニューになる、Menuがあります。 SeparatorMenuItemも、MenuのアイテムObservableListでよく使用されるノードです。

        戻り値:
        このボタン・メニュー内のメニュー・アイテムのリスト
      • isShowing

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

        public final void setPopupSide​(Side value)
        プロパティpopupSideの値を設定します。
        プロパティの説明:
        MenuButtonについて、どちら側でContextMenuを開くかを示します。 メニュー・アイテムは、通常、いずれの場合も垂直にレイアウトされます。 たとえば、メニュー・ボタンがアプリケーションの左端の垂直ツールバーにある場合、popupSideSide.RIGHTに変更すると、MenuButtonの右側にポップアップが表示されるようになります。
        デフォルト値:
        Side.BOTTOM
      • getPopupSide

        public final Side getPopupSide​()
        プロパティpopupSideの値を取得します。
        プロパティの説明:
        MenuButtonについて、どちら側でContextMenuを開くかを示します。 メニュー・アイテムは、通常、いずれの場合も垂直にレイアウトされます。 たとえば、メニュー・ボタンがアプリケーションの左端の垂直ツールバーにある場合、popupSideSide.RIGHTに変更すると、MenuButtonの右側にポップアップが表示されるようになります。
        デフォルト値:
        Side.BOTTOM
      • popupSideProperty

        public final ObjectProperty<Side> popupSideProperty​()
        MenuButtonについて、どちら側でContextMenuを開くかを示します。 メニュー・アイテムは、通常、いずれの場合も垂直にレイアウトされます。 たとえば、メニュー・ボタンがアプリケーションの左端の垂直ツールバーにある場合、popupSideSide.RIGHTに変更すると、MenuButtonの右側にポップアップが表示されるようになります。
        デフォルト値:
        Side.BOTTOM
        関連項目:
        getPopupSide()setPopupSide(Side)
      • fire

        public void fire​()
        これは何も行いません。
        定義:
        fire 、クラス: ButtonBase
      • createDefaultSkin

        protected Skin<?> createDefaultSkin​()
        このコントロールのデフォルト・スキンの新しいインスタンスを作成します。 これは、CSS -fx-skinを介してスキンが提供されていない場合にコントロール用のスキンを作成するために、または setSkin(...)を使用してサブクラスで明示的に設定するために呼び出されます。
        オーバーライド:
        createDefaultSkin 、クラス: Control
        戻り値:
        このコントロールのデフォルト・スキンの新しいインスタンス。 nullの場合、コントロールにはスキンがありません(Cssで提供されている場合を除く)。
      • executeAccessibleAction

        public void executeAccessibleAction​(AccessibleAction action,
                                            Object... parameters)
        このメソッドは、引数で指定されたアクションの実行をリクエストするためにアシスティブ・テクノロジによって呼び出されます。

        このメソッドは一般に、特定の役割に必要なアクションを実装するためにサブクラスによってオーバーライドされます。
        特定のアクションが処理されない場合は、スーパークラスの実装を呼び出す必要があります。

        オーバーライド:
        executeAccessibleAction in class ButtonBase
        パラメータ:
        action - 実行するアクション
        parameters - オプションのパラメータ・リスト
        関連項目:
        「AccessibleAction」