- java.lang.Object
-
- java.awt.MenuComponent
-
- java.awt.MenuItem
-
- 实现的所有接口
-
Serializable
,Accessible
- 已知直接子类:
-
CheckboxMenuItem
,Menu
public class MenuItemextends MenuComponentimplements Accessible
菜单中的所有项目必须属于类MenuItem
或其子类之一。默认的
MenuItem
对象包含一个简单的标签菜单项。这张菜单栏图片显示了五个菜单项:
前两项是简单的菜单项,标记为"Basic"
和"Simple"
。 以下两项是分隔符,它本身就是一个菜单项,使用标签"-"
创建。 接下来是标记为"Check"
的CheckboxMenuItem
的实例。 最终菜单项是标记为"More Examples"
的子菜单,该子菜单是Menu
的实例。选择菜单项时,AWT会向菜单项发送操作事件。 由于该事件是
ActionEvent
的实例,因此processEvent
方法检查事件并将其传递给processActionEvent
。 后一种方法将事件重定向到已注册对此菜单项生成的操作事件感兴趣的任何ActionListener
对象。请注意,子类
Menu
会覆盖此行为,并且在选择其子项之一之前不会向帧发送任何事件。- 另请参见:
- Serialized Form
-
-
嵌套类汇总
嵌套类 变量和类型 类 描述 protected class
MenuItem.AccessibleAWTMenuItem
MenuItem的内部类用于提供对可访问性的默认支持。-
嵌套类/接口声明在类 java.awt.MenuComponent
MenuComponent.AccessibleAWTMenuComponent
-
-
方法摘要
所有方法 实例方法 具体的方法 弃用的方法 变量和类型 方法 描述 void
addActionListener(ActionListener l)
添加指定的动作侦听器以从此菜单项接收动作事件。void
addNotify()
创建菜单项的同位体。void
deleteShortcut()
删除与此菜单项关联的任何MenuShortcut
对象。void
disable()
已过时。截至JDK 1.1版,由setEnabled(boolean)
取代。protected void
disableEvents(long eventsToDisable)
对于由指定的事件掩码参数定义的事件,禁用事件传递到此菜单项。void
enable()
已过时。截至JDK 1.1版,由setEnabled(boolean)
取代。void
enable(boolean b)
已过时。截至JDK 1.1版,由setEnabled(boolean)
取代。protected void
enableEvents(long eventsToEnable)
允许事件传递到此菜单项,以便由指定的事件掩码参数定义事件AccessibleContext
getAccessibleContext()
获取与此MenuItem关联的AccessibleContext。String
getActionCommand()
获取此菜单项触发的操作事件的命令名称。ActionListener[]
getActionListeners()
返回在此菜单项上注册的所有动作侦听器的数组。String
getLabel()
获取此菜单项的标签。<T extends EventListener>
T[]getListeners(类<T> listenerType)
返回当前注册的所有对象的数组FooListener
在这个SMenuItem
。MenuShortcut
getShortcut()
获取与MenuShortcut
关联的MenuShortcut
对象,boolean
isEnabled()
检查此菜单项是否已启用。String
paramString()
返回表示此MenuItem
的状态的字符串。protected void
processActionEvent(ActionEvent e)
处理此菜单项上发生的操作事件,方法是将它们分派给任何已注册的ActionListener
对象。protected void
processEvent(AWTEvent e)
处理此菜单项上的事件。void
removeActionListener(ActionListener l)
删除指定的操作侦听器,以便它不再从此菜单项接收操作事件。void
setActionCommand(String command)
设置此菜单项触发的操作事件的命令名称。void
setEnabled(boolean b)
设置是否可以选择此菜单项。void
setLabel(String label)
将此菜单项的标签设置为指定的标签。void
setShortcut(MenuShortcut s)
设置与MenuShortcut
关联的MenuShortcut
对象。-
声明方法的类 java.awt.MenuComponent
dispatchEvent, getFont, getName, getParent, getTreeLock, postEvent, removeNotify, setFont, setName, toString
-
-
-
-
构造方法详细信息
-
MenuItem
public MenuItem() throws HeadlessException
构造一个带有空标签且没有键盘快捷键的新MenuItem。- 异常
-
HeadlessException
- 如果GraphicsEnvironment.isHeadless()返回true。 - 从以下版本开始:
- 1.1
- 另请参见:
-
GraphicsEnvironment.isHeadless()
-
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
@Deprecatedpublic void enable()
Deprecated.As of JDK version 1.1, replaced bysetEnabled(boolean)
.
-
enable
@Deprecatedpublic void enable(boolean b)
Deprecated.As of JDK version 1.1, replaced bysetEnabled(boolean)
.设置是否可以选择此菜单项。- 参数
-
b
- 如果是true
,则启用此菜单项; 否则禁用
-
disable
@Deprecatedpublic void disable()
Deprecated.As of JDK version 1.1, replaced bysetEnabled(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)
-
disableEvents
protected final void disableEvents(long eventsToDisable)
对于由指定的事件掩码参数定义的事件,禁用事件传递到此菜单项。- 参数
-
eventsToDisable
- 定义事件类型的事件掩码 - 从以下版本开始:
- 1.1
- 另请参见:
-
processEvent(java.awt.AWTEvent)
,enableEvents(long)
,Component.disableEvents(long)
-
setActionCommand
public void setActionCommand(String command)
设置此菜单项触发的操作事件的命令名称。默认情况下,action命令设置为菜单项的标签。
- 参数
-
command
- 要为此菜单项设置的操作命令。 - 从以下版本开始:
- 1.1
- 另请参见:
-
getActionCommand()
-
getActionCommand
public String getActionCommand()
获取此菜单项触发的操作事件的命令名称。- 结果
- 动作命令名称
- 从以下版本开始:
- 1.1
- 另请参见:
-
setActionCommand(java.lang.String)
-
addActionListener
public void addActionListener(ActionListener l)
- 参数
-
l
- 动作监听器。 - 从以下版本开始:
- 1.1
- 另请参见:
-
removeActionListener(java.awt.event.ActionListener)
,getActionListeners()
,ActionEvent
,ActionListener
-
removeActionListener
public void removeActionListener(ActionListener l)
- 参数
-
l
- 动作监听器。 - 从以下版本开始:
- 1.1
- 另请参见:
-
addActionListener(java.awt.event.ActionListener)
,getActionListeners()
,ActionEvent
,ActionListener
-
getActionListeners
public ActionListener[] getActionListeners()
返回在此菜单项上注册的所有动作侦听器的数组。- 结果
- 所有此菜单项的
ActionListener
s或如果当前未注册任何动作侦听器的空数组 - 从以下版本开始:
- 1.4
- 另请参见:
-
addActionListener(java.awt.event.ActionListener)
,removeActionListener(java.awt.event.ActionListener)
,ActionEvent
,ActionListener
-
getListeners
public <T extends EventListener> T[] getListeners(类<T> listenerType)
返回当前注册的所有对象的数组FooListener
在这个SMenuItem
。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
- 另请参见:
-
ActionEvent
,ActionListener
,enableEvents(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
-
-