JavaTM Platform
Standard Ed. 6

java.awt
类 MenuItem

java.lang.Object
  继承者 java.awt.MenuComponent
      继承者 java.awt.MenuItem
所有已实现的接口:
Serializable, Accessible
直接已知子类:
CheckboxMenuItem, Menu

public class MenuItem
extends MenuComponent
implements Accessible

菜单中的所有项必须属于类 MenuItem 或其子类之一。

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

此菜单栏的图像显示五个菜单项:以下文本是对此图像的描述。
前两项是较简单的菜单项,加有标签 "Basic""Simple"。跟在这两项后面的是一个分隔符,它本身是一个使用标签 "-" 创建的菜单项。接下来是加有 "Check" 标签的 CheckboxMenuItem 的实例。最后一个菜单项是加有 "More Examples" 标签的子菜单,此子菜单是 Menu 的一个实例。

选择菜单项时,AWT 发送一个动作事件到该菜单项。由于该事件是一个 ActionEvent 实例,processEvent 方法会检查该事件,并将它传递到 processActionEvent。后一方法将该事件重定向到任何 ActionListener 对象,该对象已在由此菜单项生成的动作事件中注册权益。

注意,子类 Menu 重写此行为,且在选择其中一个子项前不向该框架发送任何事件。

另请参见:
序列化表格

嵌套类摘要
protected  class MenuItem.AccessibleAWTMenuItem
          用于为可访问性提供默认支持的 MenuItem 的内部类。
 
从类 java.awt.MenuComponent 继承的嵌套类/接口
MenuComponent.AccessibleAWTMenuComponent
 
构造方法摘要
MenuItem()
          构造具有空标签且没有键盘快捷方式的新菜单项。
MenuItem(String label)
          构造具有指定的标签且没有键盘快捷方式的新菜单项。
MenuItem(String label, MenuShortcut s)
          创建具有关联的键盘快捷方式的菜单项。
 
方法摘要
 void addActionListener(ActionListener l)
          添加指定的动作侦听器,以从此菜单项接收动作事件。
 void addNotify()
          创建该菜单项的同位体。
 void deleteShortcut()
          删除与此菜单项关联的任何 MenuShortcut 对象。
 void disable()
          已过时。 从 JDK version 1.1 开始,由 setEnabled(boolean) 取代。
protected  void disableEvents(long eventsToDisable)
          禁止将事件提交到将由指定事件掩码参数定义的事件的菜单项。
 void enable()
          已过时。 从 JDK version 1.1 开始,由 setEnabled(boolean) 取代。
 void enable(boolean b)
          已过时。 从 JDK version 1.1 开始,由 setEnabled(boolean) 取代。
protected  void enableEvents(long eventsToEnable)
          允许将事件提交到将由指定事件掩码参数定义的事件的菜单项。
 AccessibleContext getAccessibleContext()
          获取与此菜单项关联的 AccessibleContext。
 String getActionCommand()
          获取由此菜单项引发的动作事件的命令名。
 ActionListener[] getActionListeners()
          返回在此菜单项上注册的所有动作侦听器组成的数组。
 String getLabel()
          获取此菜单项的标签。
<T extends EventListener>
T[]
getListeners(Class<T> listenerType)
          返回当前在此 MenuItem 上注册为 FooListener 的所有对象组成的数组。
 MenuShortcut getShortcut()
          获取与此菜单项关联的 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 对象。
 
从类 java.awt.MenuComponent 继承的方法
dispatchEvent, getFont, getName, getParent, getPeer, getTreeLock, postEvent, removeNotify, setFont, setName, toString
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

构造方法详细信息

MenuItem

public MenuItem()
         throws HeadlessException
构造具有空标签且没有键盘快捷方式的新菜单项。

抛出:
HeadlessException - 如果 GraphicsEnvironment.isHeadless() 返回 true。
从以下版本开始:
JDK1.1
另请参见:
GraphicsEnvironment.isHeadless()

MenuItem

public MenuItem(String label)
         throws HeadlessException
构造具有指定的标签且没有键盘快捷方式的新菜单项。注意,保留标签中的“-”,用它来指示菜单项之间的分隔符。默认情况下,启用除分隔符之外的所有菜单项。

参数:
label - 此菜单项的标签。
抛出:
HeadlessException - 如果 GraphicsEnvironment.isHeadless() 返回 true。
从以下版本开始:
JDK1.0
另请参见:
GraphicsEnvironment.isHeadless()

MenuItem

public MenuItem(String label,
                MenuShortcut s)
         throws HeadlessException
创建具有关联的键盘快捷方式的菜单项。注意,保留标签中的“-”,用它来指示菜单项之间的分隔符。默认情况下,启用除分隔符之外的所有菜单项。

参数:
label - 此菜单项的标签。
s - 与此菜单项关联的 MenuShortcut 的实例。
抛出:
HeadlessException - 如果 GraphicsEnvironment.isHeadless() 返回 true。
从以下版本开始:
JDK1.1
另请参见:
GraphicsEnvironment.isHeadless()
方法详细信息

addNotify

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


getLabel

public String getLabel()
获取此菜单项的标签。

返回:
此菜单项的标签,如果此菜单项没有标签,则返回 null
从以下版本开始:
JDK1.0
另请参见:
setLabel(java.lang.String)

setLabel

public void setLabel(String label)
将此菜单项的标签设置为指定标签。

参数:
label - 新标签,如果无标签,则该参数为 null
从以下版本开始:
JDK1.0
另请参见:
getLabel()

isEnabled

public boolean isEnabled()
检查是否启用了此菜单项。

从以下版本开始:
JDK1.0
另请参见:
setEnabled(boolean)

setEnabled

public void setEnabled(boolean b)
设置是否可以选择此菜单项。

参数:
b - 如果该参数为 true,则启用此菜单项;如果该参数为 false,则禁用它。
从以下版本开始:
JDK1.1
另请参见:
isEnabled()

enable

@Deprecated
public void enable()
已过时。 从 JDK version 1.1 开始,由 setEnabled(boolean) 取代。


enable

@Deprecated
public void enable(boolean b)
已过时。 从 JDK version 1.1 开始,由 setEnabled(boolean) 取代。


disable

@Deprecated
public void disable()
已过时。 从 JDK version 1.1 开始,由 setEnabled(boolean) 取代。


getShortcut

public MenuShortcut getShortcut()
获取与此菜单项关联的 MenuShortcut 对象。

返回:
与此菜单项关联的菜单快捷方式,如果没有指定菜单快捷方式,则返回 null
从以下版本开始:
JDK1.1
另请参见:
setShortcut(java.awt.MenuShortcut)

setShortcut

public void setShortcut(MenuShortcut s)
设置与此菜单项关联的 MenuShortcut 对象。如果某一菜单快捷方式已经与此菜单项关联,则取代它。

参数:
s - 与此菜单项关联的菜单快捷方式。
从以下版本开始:
JDK1.1
另请参见:
getShortcut()

deleteShortcut

public void deleteShortcut()
删除与此菜单项关联的任何 MenuShortcut 对象。

从以下版本开始:
JDK1.1

enableEvents

protected final void enableEvents(long eventsToEnable)
允许将事件提交到将由指定事件掩码参数定义的事件的菜单项。

由于在将事件类型的侦听器添加到菜单项时,会自动启用该事件类型,所以只需通过 MenuItem 的子类调用此方法即可,该子类要具有提交到 processEvent 的指定事件类型,不管侦听器是否注册。

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

disableEvents

protected final void disableEvents(long eventsToDisable)
禁止将事件提交到将由指定事件掩码参数定义的事件的菜单项。

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

setActionCommand

public void setActionCommand(String command)
设置由此菜单项引发的动作事件的命令名。

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

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

getActionCommand

public String getActionCommand()
获取由此菜单项引发的动作事件的命令名。

从以下版本开始:
JDK1.1
另请参见:
setActionCommand(java.lang.String)

addActionListener

public void addActionListener(ActionListener l)
添加指定的动作侦听器,以从此菜单项接收动作事件。如果 l 为 null,则不抛出异常,也不执行任何动作。

有关 AWT 的线程模型的详细信息,请参阅 AWT 线程问题

参数:
l - 动作侦听器。
从以下版本开始:
JDK1.1
另请参见:
removeActionListener(java.awt.event.ActionListener), getActionListeners(), ActionEvent, ActionListener

removeActionListener

public void removeActionListener(ActionListener l)
移除指定的动作侦听器,使其不再从此菜单项中接收动作事件。如果 l 为 null,则不抛出异常,也不执行任何动作。

有关 AWT 的线程模型的详细信息,请参阅 AWT 线程问题

参数:
l - 动作侦听器。
从以下版本开始:
JDK1.1
另请参见:
addActionListener(java.awt.event.ActionListener), getActionListeners(), ActionEvent, ActionListener

getActionListeners

public ActionListener[] getActionListeners()
返回在此菜单项上注册的所有动作侦听器组成的数组。

返回:
此菜单项的所有 ActionListener,如果当前未注册动作侦听器,则返回空数组。
从以下版本开始:
1.4
另请参见:
addActionListener(java.awt.event.ActionListener), removeActionListener(java.awt.event.ActionListener), ActionEvent, ActionListener

getListeners

public <T extends EventListener> T[] getListeners(Class<T> listenerType)
返回当前在此 MenuItem 上注册为 FooListener 的所有对象组成的数组。FooListener 使用 addFooListener 方法注册。

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

ActionListener[] als = (ActionListener[])(m.getListeners(ActionListener.class));
如果不存在此类侦听器,则此方法返回一个空数组。

参数:
listenerType - 请求的侦听器的类型;此参数应指定一个从 java.util.EventListener 继承的接口
返回:
在此菜单项上注册为 FooListener 的所有对象组成的数组,如果未添加此侦听器,则返回一个空数组
抛出:
ClassCastException - 如果 listenerType 未指定一个类或者实现 java.util.EventListener 的接口。
从以下版本开始:
1.3
另请参见:
getActionListeners()

processEvent

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

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

注意,如果事件参数为 null,则行为是不确定的,而且可能导致异常。

覆盖:
MenuComponent 中的 processEvent
参数:
e - 事件
从以下版本开始:
JDK1.1
另请参见:
ItemEvent, #processItemEvent

processActionEvent

protected void processActionEvent(ActionEvent e)
处理此菜单项上发生的动作事件,方法是将其指派给任何已注册的 ActionListener 对象。不调用此方法,除非为此组件启用了动作事件。在发生以下情况之一时启用动作事件:

注意,如果事件参数为 null,则行为是不确定的,而且可能导致异常。

参数:
e - 动作事件
从以下版本开始:
JDK1.1
另请参见:
ActionEvent, ActionListener, enableEvents(long)

paramString

public String paramString()
返回表示此 MenuItem 状态的字符串。此方法仅用于调试目的,对于各个实现,所返回字符串的内容和格式可能有所不同。返回的字符串可以为空,但不可以为 null

覆盖:
MenuComponent 中的 paramString
返回:
此菜单项的参数字符串

getAccessibleContext

public AccessibleContext getAccessibleContext()
获取与此菜单项关联的 AccessibleContext。对于菜单项,AccessibleContext 采用 AccessibleAWTMenuItem 的形式。必要时要创建新的 AccessibleAWTMenuItem 实例。

指定者:
接口 Accessible 中的 getAccessibleContext
覆盖:
MenuComponent 中的 getAccessibleContext
返回:
用作此菜单项的 AccessibleContext 的 AccessibleAWTMenuItem
从以下版本开始:
1.3

JavaTM Platform
Standard Ed. 6

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策