Module  java.desktop
软件包  java.awt

Class Menu

  • All Implemented Interfaces:
    MenuContainerSerializableAccessible
    已知直接子类:
    PopupMenu


    public class Menu
    extends MenuItem
    implements MenuContainer, Accessible
    Menu对象是从菜单栏部署的下拉菜单组件。

    菜单可以选择是撕下菜单。 可以打开撕纸菜单并将其从父菜单栏或菜单中拖出。 鼠标按钮释放后仍保留在屏幕上。 拆卸菜单的机制是平台依赖的,因为撕下菜单的外观和感觉是由其对等方确定的。 在不支持拆除菜单的平台上,撕除属性将被忽略。

    菜单中的每个项目都必须属于MenuItem类。 它可以是一个MenuItem的实例,一个子菜单(一个实例Menu )或一个复选框(一个CheckboxMenuItem的实例)。

    从以下版本开始:
    1.0
    另请参见:
    MenuItemCheckboxMenuItemSerialized Form
    • 构造方法详细信息

      • Menu

        public Menu​(String label)
             throws HeadlessException
        构造一个带有指定标签的新菜单。 此菜单不是撕纸菜单。
        参数
        label - 菜单栏中的菜单标签,或在其他菜单中,此菜单是子菜单。
        异常
        HeadlessException - 如果GraphicsEnvironment.isHeadless()返回true。
        另请参见:
        GraphicsEnvironment.isHeadless()
      • Menu

        public Menu​(String label,
                    boolean tearOff)
             throws HeadlessException
        构造具有指定标签的新菜单,指示菜单是否可以被拆除。

        AWT的所有实现可能不支持撕除功能。 如果某个特定的实现不支持撕下菜单,则该值将被忽略。

        参数
        label - 菜单栏中的菜单标签,或在其他菜单中,此菜单是子菜单。
        tearOff - 如果是 true ,菜单是撕下菜单。
        异常
        HeadlessException - 如果GraphicsEnvironment.isHeadless()返回true。
        另请参见:
        GraphicsEnvironment.isHeadless()
    • 方法详细信息

      • addNotify

        public void addNotify​()
        创建菜单的对等体。 对等体允许我们修改菜单的外观而不改变其功能。
        重写:
        addNotifyMenuItem
      • removeNotify

        public void removeNotify​()
        删除菜单的对等体。 对等体允许我们修改菜单的外观而不改变其功能。
        重写:
        removeNotifyMenuComponent
      • isTearOff

        public boolean isTearOff​()
        指示此菜单是否为撕纸菜单。

        AWT的所有实现可能不支持撕除功能。 如果某个特定的实现不支持撕下菜单,则该值将被忽略。

        结果
        true如果这是一个撕下菜单; 否则为false
      • getItemCount

        public int getItemCount​()
        获取此菜单中的项目数量。
        结果
        此菜单中的项目数
        从以下版本开始:
        1.1
      • countItems

        @Deprecated
        public int countItems​()
        已过时。 从JDK 1.1版开始,由getItemCount()替代。
        返回此菜单中的项目数。
        结果
        此菜单中的项目数
      • getItem

        public MenuItem getItem​(int index)
        获取位于此菜单的指定索引处的项目。
        参数
        index - 要返回的项目的位置。
        结果
        位于指定索引处的项目。
      • insert

        public void insert​(String label,
                           int index)
        在指定位置的菜单中插入带有指定标签的菜单项。 这是一个方便的方法insert(menuItem, index)
        参数
        label - 该项目的文本
        index - 要插入菜单项的位置
        异常
        IllegalArgumentException -如果值 index小于零
        从以下版本开始:
        1.1
        另请参见:
        add(java.lang.String)add(java.awt.MenuItem)
      • addSeparator

        public void addSeparator​()
        在当前位置的菜单中添加分隔线或连字符。
        另请参见:
        insertSeparator(int)
      • insertSeparator

        public void insertSeparator​(int index)
        在指定位置插入分隔符。
        参数
        index - 应插入菜单分隔符的位置。
        异常
        IllegalArgumentException -如果值 index小于0。
        从以下版本开始:
        1.1
        另请参见:
        addSeparator()
      • remove

        public void remove​(int index)
        从此菜单中删除指定索引处的菜单项。
        参数
        index - 要删除的项目的位置。
      • remove

        public void remove​(MenuComponent item)
        从此菜单中删除指定的菜单项。
        Specified by:
        remove在接口 MenuContainer
        参数
        item - 从菜单中删除的项目。 如果itemnull或者不在这个菜单中,这个方法什么都不做。
      • removeAll

        public void removeAll​()
        从此菜单中删除所有项目。
        从以下版本开始:
        1.1
      • paramString

        public String paramString​()
        返回表示Menu的状态的字符串。 该方法仅用于调试目的,并且返回的字符串的内容和格式可能因实现而异。 返回的字符串可能为空,但可能不是null
        重写:
        paramStringMenuItem
        结果
        该菜单的参数字符串
      • getAccessibleContext

        public AccessibleContext getAccessibleContext​()
        获取与此菜单关联的AccessibleContext。 对于菜单,AccessibleContext采用AccessibleAWTMenu的形式。 如有必要,将创建一个新的AccessibleAWTMenu实例。
        Specified by:
        getAccessibleContext在接口 Accessible
        重写:
        getAccessibleContextMenuItem
        结果
        一个AccessibleAWTMenu,用作此菜单的AccessibleContext
        从以下版本开始:
        1.3