模块  java.desktop
软件包  java.awt

Class MenuItem

  • 实现的所有接口
    SerializableAccessible
    已知直接子类:
    CheckboxMenuItemMenu

    public class MenuItem
    extends MenuComponent
    implements Accessible
    菜单中的所有项目必须属于类MenuItem或其子类之一。

    默认的MenuItem对象包含一个简单的标签菜单项。

    这张菜单栏图片显示了五个菜单项: 以下文字描述了此图形。
    前两项是简单的菜单项,标记为"Basic""Simple" 以下两项是分隔符,它本身就是一个菜单项,使用标签"-"创建。 接下来是标记为"Check"CheckboxMenuItem的实例。 最终菜单项是标记为"More Examples"的子菜单,该子菜单是Menu的实例。

    选择菜单项时,AWT会向菜单项发送操作事件。 由于该事件是ActionEvent的实例,因此processEvent方法检查事件并将其传递给processActionEvent 后一种方法将事件重定向到已注册对此菜单项生成的操作事件感兴趣的任何ActionListener对象。

    请注意,子类Menu会覆盖此行为,并且在选择其子项之一之前不会向帧发送任何事件。

    另请参见:
    Serialized Form
    • 构造方法详细信息

      • MenuItem

        public MenuItem​(String label)
                 throws HeadlessException
        构造一个具有指定标签且没有键盘快捷键的新MenuItem。 请注意,保留在标签中使用“ - ”表示菜单项之间的分隔符。 默认情况下,启用除分隔符之外的所有菜单项。
        参数
        label - 此菜单项的标签。
        异常
        HeadlessException - 如果GraphicsEnvironment.isHeadless()返回true。
        从以下版本开始:
        1.0
        另请参见:
        GraphicsEnvironment.isHeadless()
      • MenuItem

        public MenuItem​(String label,
                        MenuShortcut s)
                 throws HeadlessException
        使用关联的键盘快捷方式创建菜单项。 请注意,保留在标签中使用“ - ”表示菜单项之间的分隔符。 默认情况下,启用除分隔符之外的所有菜单项。
        参数
        label - 此菜单项的标签。
        s - 与 MenuShortcut关联的 MenuShortcut的实例。
        异常
        HeadlessException - 如果GraphicsEnvironment.isHeadless()返回true。
        从以下版本开始:
        1.1
        另请参见:
        GraphicsEnvironment.isHeadless()
    • 方法详细信息

      • addNotify

        public void addNotify()
        创建菜单项的同位体。 对等体允许我们修改菜单项的外观而不改变其功能。
      • getLabel

        public String getLabel()
        获取此菜单项的标签。
        结果
        此菜单项的标签,如果此菜单项没有标签, null
        从以下版本开始:
        1.0
        另请参见:
        setLabel(java.lang.String)
      • setLabel

        public void setLabel​(String label)
        将此菜单项的标签设置为指定的标签。
        参数
        label - 新标签,或 null表示无标签。
        从以下版本开始:
        1.0
        另请参见:
        getLabel()
      • isEnabled

        public boolean isEnabled()
        检查此菜单项是否已启用。
        结果
        true如果项目已启用; 否则false
        从以下版本开始:
        1.0
        另请参见:
        setEnabled(boolean)
      • setEnabled

        public void setEnabled​(boolean b)
        设置是否可以选择此菜单项。
        参数
        b - 如果true ,则启用此菜单项; 如果false ,禁用它。
        从以下版本开始:
        1.1
        另请参见:
        isEnabled()
      • enable

        @Deprecated
        public void enable()
        Deprecated.
        As of JDK version 1.1, replaced by setEnabled(boolean).
      • enable

        @Deprecated
        public void enable​(boolean b)
        Deprecated.
        As of JDK version 1.1, replaced by setEnabled(boolean).
        设置是否可以选择此菜单项。
        参数
        b - 如果是true ,则启用此菜单项; 否则禁用
      • disable

        @Deprecated
        public void disable()
        Deprecated.
        As of JDK version 1.1, replaced by setEnabled(boolean).
      • getShortcut

        public MenuShortcut getShortcut()
        获取与 MenuShortcut关联的 MenuShortcut对象,
        结果
        与此菜单项关联的菜单快捷方式,如果未指定, null
        从以下版本开始:
        1.1
        另请参见:
        setShortcut(java.awt.MenuShortcut)
      • setShortcut

        public void setShortcut​(MenuShortcut s)
        设置与MenuShortcut关联的MenuShortcut对象。 如果菜单快捷方式已与此菜单项关联,则会替换它。
        参数
        s - 与此菜单项关联的菜单快捷方式。
        从以下版本开始:
        1.1
        另请参见:
        getShortcut()
      • deleteShortcut

        public void deleteShortcut()
        删除与此菜单项关联的任何 MenuShortcut对象。
        从以下版本开始:
        1.1
      • enableEvents

        protected final void enableEvents​(long eventsToEnable)
        允许事件传递到此菜单项,以便由指定的事件掩码参数定义事件

        由于在将该类型的侦听器添加到菜单项时会自动启用事件类型,因此只需要MenuItem的子类调用此方法,该子类希望将指定的事件类型传递到processEvent无论是否注册了侦听器。

        参数
        eventsToEnable - 定义事件类型的事件掩码
        从以下版本开始:
        1.1
        另请参见:
        processEvent(java.awt.AWTEvent)disableEvents(long)Component.enableEvents(long)
      • setActionCommand

        public void setActionCommand​(String command)
        设置此菜单项触发的操作事件的命令名称。

        默认情况下,action命令设置为菜单项的标签。

        参数
        command - 要为此菜单项设置的操作命令。
        从以下版本开始:
        1.1
        另请参见:
        getActionCommand()
      • getActionCommand

        public String getActionCommand()
        获取此菜单项触发的操作事件的命令名称。
        结果
        动作命令名称
        从以下版本开始:
        1.1
        另请参见:
        setActionCommand(java.lang.String)
      • getListeners

        public <T extends EventListener> T[] getListeners​(<T> listenerType)
        返回当前注册的所有对象的数组FooListener在这个S MenuItem FooListener s使用addFooListener方法注册。

        您可以使用类文字指定listenerType参数,例如FooListener.class 例如,您可以使用以下代码查询MenuItem m的动作侦听器:

          ActionListener[] als = (ActionListener[])(m.getListeners(ActionListener.class)); 
        如果不存在此类侦听器,则此方法返回空数组。
        参数类型
        T - 侦听器的类型
        参数
        listenerType - 请求的侦听器类型; 此参数应指定从java.util.EventListener下降的接口
        结果
        此菜单项上注册为 FooListener的所有对象的数组,如果未添加此类侦听器,则为空数组
        异常
        ClassCastException - 如果 listenerType未指定实现 java.util.EventListener的类或接口
        从以下版本开始:
        1.3
        另请参见:
        getActionListeners()
      • processEvent

        protected void processEvent​(AWTEvent e)
        处理此菜单项上的事件。 如果事件是ActionEvent的实例,则调用processActionEvent ,这是由MenuItem定义的另一种方法。

        目前,菜单项仅支持动作事件。

        请注意,如果事件参数为null则行为未指定,可能会导致异常。

        重写:
        processEvent在类 MenuComponent
        参数
        e - 活动
        从以下版本开始:
        1.1
        另请参见:
        processActionEvent(java.awt.event.ActionEvent)
      • processActionEvent

        protected void processActionEvent​(ActionEvent e)
        处理此菜单项上发生的操作事件,方法是将它们分派给任何已注册的ActionListener对象。 除非为此组件启用了操作事件,否则不会调用此方法。 发生以下任一情况时启用操作事件:
        • ActionListener对象是通过addActionListener注册。
        • 通过enableEvents启用操作事件。

        请注意,如果事件参数为null则行为未指定,可能会导致异常。

        参数
        e - 动作事件
        从以下版本开始:
        1.1
        另请参见:
        ActionEventActionListenerenableEvents(long)
      • paramString

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

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