java.lang.Object
java.awt.MenuComponent
java.awt.MenuItem
- 所有已实现的接口:
Serializable,Accessible
- 已知子类:
CheckboxMenuItem,Menu
菜单中的所有项目都必须属于类
MenuItem 或其子类之一。
默认的 MenuItem 对象包含一个简单的带标签的菜单项。
这张菜单栏图片显示了五个菜单项:
前两项是简单的菜单项,标记为 "Basic" 和 "Simple" 。在这两项之后是一个分隔符,它本身就是一个菜单项,使用标签 "-" 创建。接下来是标记为 "Check" 的 CheckboxMenuItem 实例。最后一个菜单项是一个标记为 "More Examples" 的子菜单,这个子菜单是 Menu 的一个实例。
选择菜单项时,AWT 会向菜单项发送一个动作事件。由于该事件是 ActionEvent 的实例,因此 processEvent 方法会检查该事件并将其传递给 processActionEvent。后一种方法将事件重定向到任何已注册对此菜单项生成的操作事件感兴趣的ActionListener对象。
请注意,子类 Menu 覆盖了此行为,并且在选择其子项之一之前不会向框架发送任何事件。
- 参见:
-
内部类总结
内部类在类 java.awt.MenuComponent 中声明的嵌套类/接口
MenuComponent.AccessibleAWTMenuComponent -
构造方法总结
构造方法 -
方法总结
修饰符和类型方法描述void添加指定的动作监听以接收来自此菜单项的动作事件。void创建菜单项的对等项。void删除与此菜单项关联的任何MenuShortcut对象。voiddisable()已弃用。protected final voiddisableEvents(long eventsToDisable) 对于由指定的事件掩码参数定义的事件,禁用事件传递到此菜单项。voidenable()已弃用。从 JDK 1.1 版开始,由setEnabled(boolean)取代。voidenable(boolean b) 已弃用。从 JDK 1.1 版开始,由setEnabled(boolean)取代。protected final voidenableEvents(long eventsToEnable) 对于由指定的事件掩码参数定义的事件,启用事件传递到此菜单项获取与此 MenuItem 关联的 AccessibleContext。获取由此菜单项触发的操作事件的命令名称。返回在此菜单项上注册的所有动作监听的数组。getLabel()获取此菜单项的标签。<T extends EventListener>
T[]getListeners(Class<T> listenerType) 返回当前在此MenuItem上注册为FooListener的所有对象的数组。获取与此菜单项关联的MenuShortcut对象,boolean检查此菜单项是否已启用。返回表示此MenuItem状态的字符串。protected void处理此菜单项上发生的操作事件,方法是将它们分派给任何已注册的ActionListener对象。protected void处理此菜单项上的事件。void删除指定的动作监听,使其不再接收来自该菜单项的动作事件。voidsetActionCommand(String command) 设置由此菜单项触发的操作事件的命令名称。voidsetEnabled(boolean b) 设置是否可以选择此菜单项。void将此菜单项的标签设置为指定的标签。void设置与此菜单项关联的MenuShortcut对象。在类 java.awt.MenuComponent 中声明的方法
dispatchEvent, getFont, getName, getParent, getTreeLock, postEvent, removeNotify, setFont, setName, toString
-
构造方法详细信息
-
MenuItem
构造一个带有空标签且没有键盘快捷键的新 MenuItem。- 抛出:
HeadlessException- 如果 GraphicsEnvironment.isHeadless() 返回 true。- 自从:
- 1.1
- 参见:
-
MenuItem
构造一个具有指定标签且没有键盘快捷键的新 MenuItem。请注意,在标签中使用“-”是为了指示菜单项之间的分隔符。默认情况下,启用除分隔符之外的所有菜单项。- 参数:
label- 此菜单项的标签。- 抛出:
HeadlessException- 如果 GraphicsEnvironment.isHeadless() 返回 true。- 自从:
- 1.0
- 参见:
-
MenuItem
使用关联的键盘快捷键创建菜单项。请注意,在标签中使用“-”是为了指示菜单项之间的分隔符。默认情况下,启用除分隔符之外的所有菜单项。- 参数:
label- 此菜单项的标签。s- 与此菜单项关联的MenuShortcut实例。- 抛出:
HeadlessException- 如果 GraphicsEnvironment.isHeadless() 返回 true。- 自从:
- 1.1
- 参见:
-
-
方法详情
-
addNotify
public void addNotify()创建菜单项的对等项。点允许我们在不改变其功能的情况下修改菜单项的外观。 -
getLabel
获取此菜单项的标签。- 返回:
-
此菜单项的标签,如果此菜单项没有标签,则为
null。 - 自从:
- 1.0
- 参见:
-
setLabel
将此菜单项的标签设置为指定的标签。- 参数:
label- 新标签,或null无标签。- 自从:
- 1.0
- 参见:
-
isEnabled
public boolean isEnabled()检查此菜单项是否已启用。- 返回:
true如果该项目已启用;否则false- 自从:
- 1.0
- 参见:
-
setEnabled
public void setEnabled(boolean b) 设置是否可以选择此菜单项。- 参数:
b- 如果是true,则启用此菜单项;如果false,禁用它。- 自从:
- 1.1
- 参见:
-
enable
已弃用。从 JDK 1.1 版开始,由setEnabled(boolean)取代。 -
enable
已弃用。从 JDK 1.1 版开始,由setEnabled(boolean)取代。设置是否可以选择此菜单项。- 参数:
b- 如果是true,则启用此菜单项;否则禁用
-
disable
已弃用。从 JDK 1.1 版开始,由setEnabled(boolean)取代。 -
getShortcut
获取与此菜单项关联的MenuShortcut对象,- 返回:
-
与此菜单项关联的菜单快捷方式,如果未指定,则为
null。 - 自从:
- 1.1
- 参见:
-
setShortcut
设置与此菜单项关联的MenuShortcut对象。如果菜单快捷方式已与此菜单项相关联,则会将其替换。- 参数:
s- 与此菜单项关联的菜单快捷方式。- 自从:
- 1.1
- 参见:
-
deleteShortcut
public void deleteShortcut()删除与此菜单项关联的任何MenuShortcut对象。- 自从:
- 1.1
-
enableEvents
protected final void enableEvents(long eventsToEnable) 对于由指定的事件掩码参数定义的事件,启用事件传递到此菜单项由于当该类型的监听器添加到菜单项时会自动启用事件类型,因此只需由
MenuItem的子类调用此方法,无论是否注册了监听器,它们都希望将指定的事件类型传递给processEvent。- 参数:
eventsToEnable- 定义事件类型的事件掩码- 自从:
- 1.1
- 参见:
-
disableEvents
protected final void disableEvents(long eventsToDisable) 对于由指定的事件掩码参数定义的事件,禁用事件传递到此菜单项。- 参数:
eventsToDisable- 定义事件类型的事件掩码- 自从:
- 1.1
- 参见:
-
setActionCommand
设置由此菜单项触发的操作事件的命令名称。默认情况下,操作命令设置为菜单项的标签。
- 参数:
command- 要为此菜单项设置的操作命令。- 自从:
- 1.1
- 参见:
-
getActionCommand
获取由此菜单项触发的操作事件的命令名称。- 返回:
- 动作命令名称
- 自从:
- 1.1
- 参见:
-
addActionListener
添加指定的动作监听以接收来自此菜单项的动作事件。如果 l 为 null,则不会抛出异常并且不会执行任何操作。有关 AWT 线程模型的详细信息,请参阅 AWT 线程问题。
- 参数:
l- 动作监听器。- 自从:
- 1.1
- 参见:
-
removeActionListener
删除指定的动作监听,使其不再接收来自该菜单项的动作事件。如果 l 为 null,则不会抛出异常并且不会执行任何操作。有关 AWT 线程模型的详细信息,请参阅 AWT 线程问题。
- 参数:
l- 动作监听器。- 自从:
- 1.1
- 参见:
-
getActionListeners
返回在此菜单项上注册的所有动作监听的数组。- 返回:
-
此菜单项的所有
ActionListeners 或空数组(如果当前没有注册任何动作监听器) - 自从:
- 1.4
- 参见:
-
getListeners
返回当前在此MenuItem上注册为FooListener的所有对象的数组。FooListener是使用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
- 参见:
-
processEvent
处理此菜单项上的事件。如果事件是ActionEvent的实例,它会调用processActionEvent,这是MenuItem定义的另一个方法。目前,菜单项仅支持动作事件。
请注意,如果事件参数为
null,则行为未指定且可能导致异常。- 重写:
processEvent在类MenuComponent中- 参数:
e- 事件- 自从:
- 1.1
- 参见:
-
processActionEvent
处理此菜单项上发生的操作事件,方法是将它们分派给任何已注册的ActionListener对象。除非为此组件启用动作事件,否则不会调用此方法。当发生以下情况之一时,将启用操作事件:ActionListener对象通过addActionListener注册。- 动作事件通过
enableEvents启用。
请注意,如果事件参数为
null,则行为未指定且可能导致异常。- 参数:
e- 动作事件- 自从:
- 1.1
- 参见:
-
paramString
返回表示此MenuItem状态的字符串。此方法仅用于调试目的,返回字符串的内容和格式可能因实现而异。返回的字符串可能为空,但可能不是null。- 重写:
paramString在类MenuComponent中- 返回:
- 该菜单项的参数字符串
-
getAccessibleContext
获取与此 MenuItem 关联的 AccessibleContext。对于菜单项,AccessibleContext 采用 AccessibleAWTMenuItem 的形式。如有必要,将创建一个新的 AccessibleAWTMenuItem 实例。- 指定者:
getAccessibleContext在接口Accessible中- 重写:
getAccessibleContext在类MenuComponent中- 返回:
- 作为此 MenuItem 的 AccessibleContext 的 AccessibleAWTMenuItem
- 自从:
- 1.3
-
setEnabled(boolean)取代。