Module  javafx.controls
软件包  javafx.scene.control

Class MenuBar

  • All Implemented Interfaces:
    StyleableEventTargetSkinnable


    @DefaultProperty("menus")
    public class MenuBar
    extends Control

    MenuBar控件传统上放置在用户界面的最上方,嵌入其中是Menus 要将菜单添加到菜单栏,请将其添加到menus ObservableList。 默认情况下,对于添加到菜单栏的每个菜单,它将被表示为一个按钮,显示菜单text值。

    MenuBar将focusTraversable设置为false。

    要创建和填充MenuBar ,您可以执行下面所示的操作。 有关如何进行配置的详细信息,请参阅Menu API页面。
       final Menu menu1 = new Menu("File"); final Menu menu2 = new Menu("Options"); final Menu menu3 = new Menu("Help"); MenuBar menuBar = new MenuBar(); menuBar.getMenus().addAll(menu1, menu2, menu3);  
    从以下版本开始:
    JavaFX 2.0
    另请参见:
    MenuMenuItem
    • Property Detail

      • useSystemMenuBar

        public final BooleanProperty useSystemMenuBarProperty
        如果当前平台支持,请使用系统菜单栏。 这不应该在每个Stage的多个MenuBar实例上设置。 如果在同一阶段的多个MenuBar上将此属性设置为true,则允许最后一个菜单集修改系统菜单栏,如果存在已安装的系统菜单,则会从系统菜单栏中取消设置。 请注意,尝试单向绑定到此属性将抛出一个RuntimeException。 请使用双向绑定到此属性。
        从以下版本开始:
        JavaFX 2.1
        另请参见:
        isUseSystemMenuBar()setUseSystemMenuBar(boolean)
    • 构造方法详细信息

      • MenuBar

        public MenuBar​()
        创建一个新的空MenuBar。
      • MenuBar

        public MenuBar​(Menu... menus)
        使用给定的菜单创建一个新的MenuBar。
        参数
        menus - 放置在MenuBar中的菜单
        从以下版本开始:
        JavaFX 8u40
    • 方法详细信息

      • useSystemMenuBarProperty

        public final BooleanProperty useSystemMenuBarProperty​()
        如果当前平台支持,请使用系统菜单栏。 这不应该在每个Stage的多个MenuBar实例上设置。 如果在同一阶段的多个MenuBar上将此属性设置为true,则允许最后一个菜单集修改系统菜单栏,如果存在已安装的系统菜单,则会从系统菜单栏中取消设置。 请注意,尝试单向绑定到此属性将抛出一个RuntimeException。 请使用双向绑定到此属性。
        从以下版本开始:
        JavaFX 2.1
        另请参见:
        isUseSystemMenuBar()setUseSystemMenuBar(boolean)
      • setUseSystemMenuBar

        public final void setUseSystemMenuBar​(boolean value)
        设置属性useSystemMenuBar的值。
        Property description:
        如果当前平台支持,请使用系统菜单栏。 这不应该在每个Stage的多个MenuBar实例上设置。 如果在同一阶段的多个MenuBar上将此属性设置为true,则允许最后一个菜单集修改系统菜单栏,如果存在已安装的系统菜单,则会从系统菜单栏中取消设置。 请注意,尝试单向绑定到此属性将抛出一个RuntimeException。 请使用双向绑定到此属性。
        从以下版本开始:
        JavaFX 2.1
      • isUseSystemMenuBar

        public final boolean isUseSystemMenuBar​()
        获取propertySystemMenuBar属性的值。
        Property description:
        如果当前平台支持,请使用系统菜单栏。 这不应该在每个Stage的多个MenuBar实例上设置。 如果在同一阶段的多个MenuBar上将此属性设置为true,则允许最后一个菜单集修改系统菜单栏,如果存在已安装的系统菜单,则会从系统菜单栏中取消设置。 请注意,尝试单向绑定到此属性将抛出一个RuntimeException。 请使用双向绑定到此属性。
        从以下版本开始:
        JavaFX 2.1
      • getMenus

        public final ObservableList<Menu> getMenus​()
        在MenuBar中显示的菜单。 如果在运行时修改了ObservableList,则MenuBar将按预期更新。
        结果
        在此MenuBar中显示的菜单列表
        另请参见:
        Menu
      • createDefaultSkin

        protected Skin<?> createDefaultSkin​()
        为此控件创建一个新的默认皮肤实例。 如果没有通过CSS -fx-skin提供皮肤或者在具有setSkin(...)的子类中显式设置,则会调用此控件创建皮肤。
        重写:
        createDefaultSkinControl
        结果
        此控件的默认皮肤的新实例。 如果为null,则控件将没有皮肤,除非由css提供。
      • getClassCssMetaData

        public static List<CssMetaData<? extends Styleable,?>> getClassCssMetaData​()
        结果
        与此类相关联的CssMetaData可能包括其类的CssMetaData。
        从以下版本开始:
        JavaFX 8.0
      • getInitialFocusTraversable

        protected Boolean getInitialFocusTraversable​()
        返回此控件的初始焦点遍历状态,供JavaFX CSS引擎正确设置其初始值。 该方法被覆盖,因为默认情况下UI控件将focus遍历设置为true,但这不适用于此控件。
        重写:
        getInitialFocusTraversableControl
        结果
        该控件的初始聚焦可移动状态
        从以下版本开始:
        9