public class MenuItem extends MenuComponent implements Accessible
MenuItem
或其子类之一。
默认的MenuItem
对象体现了一个简单的标签菜单项。
菜单栏的这张照片显示五个菜单项:
前两个项目是简单的菜单项,标号为"Basic"
和"Simple"
。 以下这两个项目是一个分隔符,它本身是一个菜单项,使用标签"-"
创建。 接下来是CheckboxMenuItem
标记为"Check"
的实例。 最后一个菜单项是一个标记为"More Examples"
的子菜单,此子菜单是Menu
一个实例。
当选择菜单项时,AWT会向菜单项发送一个动作事件。 由于事件是ActionEvent
一个实例, processEvent
方法检查事件并将其传递到processActionEvent
。 后一种方法将事件ActionListener
到已经注册了对该菜单项生成的动作事件感兴趣的任何ActionListener
对象。
请注意, Menu
子类Menu
此行为,并且不会将任何事件发送到框架,直到选择其中一个子项目为止。
Modifier and Type | Class and Description |
---|---|
protected class |
MenuItem.AccessibleAWTMenuItem
MenuItem的内部类用于为辅助功能提供默认支持。
|
MenuComponent.AccessibleAWTMenuComponent
Constructor and Description |
---|
MenuItem()
构造一个带有空标签的新菜单项,而不需要键盘快捷方式。
|
MenuItem(String label)
使用指定的标签构建一个新的MenuItem,而不需要键盘快捷方式。
|
MenuItem(String label, MenuShortcut s)
创建一个带有相关键盘快捷方式的菜单项。
|
Modifier and Type | Method and Description |
---|---|
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> |
getListeners(类<T> listenerType)
返回当前注册为
FooListener 的所有对象的数组,此
MenuItem 。
|
MenuShortcut |
getShortcut()
获取与
MenuShortcut 对象,
|
boolean |
isEnabled()
检查此菜单项是否启用。
|
String |
paramString()
返回表示此
MenuItem 的状态的字符串。
|
protected void |
processActionEvent(ActionEvent e)
通过将这些事件发送到任何已注册的
ActionListener 对象来处理
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 对象。
|
dispatchEvent, getFont, getName, getParent, getPeer, getTreeLock, postEvent, removeNotify, setFont, setName, toString
public MenuItem() throws HeadlessException
HeadlessException
- 如果GraphicsEnvironment.isHeadless()返回true。
GraphicsEnvironment.isHeadless()
public MenuItem(String label) throws HeadlessException
label
- 此菜单项的标签。
HeadlessException
- 如果GraphicsEnvironment.isHeadless()返回true。
GraphicsEnvironment.isHeadless()
public MenuItem(String label, MenuShortcut s) throws HeadlessException
label
- 此菜单项的标签。
s
- 与
MenuShortcut
单项相关的MenuShortcut的实例。
HeadlessException
- 如果GraphicsEnvironment.isHeadless()返回true。
GraphicsEnvironment.isHeadless()
public void addNotify()
public String getLabel()
null
。
setLabel(java.lang.String)
public void setLabel(String label)
label
- 新标签,或无标签的
null
。
getLabel()
public boolean isEnabled()
setEnabled(boolean)
public void setEnabled(boolean b)
b
- 如果true
,启用此菜单项;
如果false
,禁用它。
isEnabled()
@Deprecated public void enable()
setEnabled(boolean)
。
@Deprecated public void enable(boolean b)
setEnabled(boolean)
取代。
@Deprecated public void disable()
setEnabled(boolean)
。
public MenuShortcut getShortcut()
MenuShortcut
对象,
null
如果已指定没有。
setShortcut(java.awt.MenuShortcut)
public void setShortcut(MenuShortcut s)
MenuShortcut
对象。
如果菜单快捷方式已经与此菜单项相关联,则会被替换。
s
- 与此菜
s
的菜单快捷方式。
getShortcut()
public void deleteShortcut()
MenuShortcut
对象。
protected final void enableEvents(long eventsToEnable)
由于在该类型的侦听器添加到菜单项的事件类型,会自动启用,这个方法只需要通过子类调用MenuItem
其渴望有发送到指定的事件类型processEvent
监听者是否被注册不管。
eventsToEnable
- 定义事件类型的事件掩码
processEvent(java.awt.AWTEvent)
,
disableEvents(long)
,
Component.enableEvents(long)
protected final void disableEvents(long eventsToDisable)
eventsToDisable
- 定义事件类型的事件掩码
processEvent(java.awt.AWTEvent)
,
enableEvents(long)
,
Component.disableEvents(long)
public void setActionCommand(String command)
默认情况下,action命令设置为菜单项的标签。
command
- 要为此菜单项设置的动作命令。
getActionCommand()
public String getActionCommand()
setActionCommand(java.lang.String)
public void addActionListener(ActionListener l)
l
- 动作侦听器。
removeActionListener(java.awt.event.ActionListener)
, getActionListeners()
, ActionEvent
, ActionListener
public void removeActionListener(ActionListener l)
l
- 动作侦听器。
addActionListener(java.awt.event.ActionListener)
, getActionListeners()
, ActionEvent
, ActionListener
public ActionListener[] getActionListeners()
ActionListener
s或一个空数组,如果没有动作侦听器当前注册
addActionListener(java.awt.event.ActionListener)
, removeActionListener(java.awt.event.ActionListener)
, ActionEvent
, ActionListener
public <T extends EventListener> T[] getListeners(类<T> listenerType)
FooListener
的所有对象的数组,此MenuItem
。
FooListener
使用addFooListener
。
您可以使用类文字指定listenerType
参数,如FooListener.class
。 例如,您可以使用以下代码查询MenuItem
m
其操作侦听器:
ActionListener[] als = (ActionListener[])(m.getListeners(ActionListener.class));
如果没有这样的侦听器存在,这个方法返回一个空数组。
listenerType
- 所请求的听众的类型;
此参数应指定从java.util.EventListener
下降的java.util.EventListener
FooListener
上注册为
FooListener
的所有对象的数组,如果没有添加此类侦听器,则为空数组
ClassCastException
- 如果
listenerType
没有指定实现java.util.EventListener的类或
java.util.EventListener
getActionListeners()
protected void processEvent(AWTEvent e)
ActionEvent
,它调用processActionEvent
,由下式定义的另一种方法MenuItem
。
目前,菜单项只支持动作事件。
请注意,如果事件参数为null
则行为未指定,可能会导致异常。
processEvent
在类别
MenuComponent
e
- 事件
processActionEvent(java.awt.event.ActionEvent)
protected void processActionEvent(ActionEvent e)
ActionListener
对象。
除非为此组件启用了操作事件,否则不会调用此方法。
当发生以下情况之一时,启用操作事件:
ActionListener
对象通过addActionListener
。 enableEvents
启用。 请注意,如果事件参数为null
则该行为未指定,并可能导致异常。
e
- 动作事件
ActionEvent
, ActionListener
, enableEvents(long)
public String paramString()
MenuItem
状态的字符串。
该方法仅用于调试目的,并且返回的字符串的内容和格式可能因实现而异。
返回的字符串可能为空,但可能不是null
。
paramString
在
MenuComponent
public AccessibleContext getAccessibleContext()
getAccessibleContext
在接口
Accessible
getAccessibleContext
在类别
MenuComponent
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.