类 java.awt.MenuItem
java.lang.Object
|
+----java.awt.MenuComponent
|
+----java.awt.MenuItem
- public class MenuItem
- extends MenuComponent
- 下列类的父类:
- CheckboxMenuItem, Menu
所有菜单项必定属于 MenuItem类或它的继承类。
缺省 MenuItem 对象表示一个简单的带标签的菜单项。
菜单条的当前图象显示五个菜单项:
前两项是简单的菜单项,标记为 "Basic" 和
"Simple"。
下面是一个分隔符,是用标签 "-" 创建的菜单项。再往下是一个标签为 "Check"的 CheckboxMenuItem实例。最后一个是标签为"More Examples"的子菜单项,它是
Menu的一个实例。
当某一菜单项被选择后,AWT 将向此菜单项发送一动作事件。因为此事件是 ActionEvent 的一个实例, 所以
processEvent方法将检查该事件,并将它传递给
processActionEvent方法。后面的方法再将此事件重定向到任一
ActionListener 对象(已登记了当前菜单项产生的感兴趣动作事件的对象)。
注意 Menu的继承类覆盖了此行为,直到框架的任一子项被选中,它才将事件发送给框架。
构造子索引
- MenuItem()
-
用一空标签,无相应快捷键,创建一新 MenuItem 对象。
- MenuItem(String)
-
用参数指定的标签,无相应快捷键,创建一新 MenuItem 对象。
- MenuItem(String, MenuShortcut)
- 用相关快捷键创建一菜单项。
方法索引
- addActionListener(ActionListener)
- 添加指定的动作监听者,接收当前菜单项的动作事件。
- addNotify()
- 创建菜单项的同级件。
- deleteShortcut()
- 删除与当前菜单项相关的任一
MenuShortcut 对象。
- disable()
-
不推荐使用该方法。
- disableEvents(long)
- 使指定的事件屏蔽参数定义的事件对当前菜单项的传送无效。
- enable()
-
不推荐使用该方法。
- enable(boolean)
-
不推荐使用该方法。
- enableEvents(long)
- 使指定的事件屏蔽参数定义的事件,对当前菜单项的传送有效。
当事件的监听者添加一菜单项时,事件类型将自动有效,所以此方法仅需由 MenuItem的子类唤醒,且类MenuItem
期望已将指定的事件类型传送到 processEvent方法,无论监听者是否被登记。
- getActionCommand()
- 获取该菜单项激活的动作的命令名。
- getLabel()
- 获取当前菜单项的标签。
- getShortcut()
- 获取与当前菜单项相关的
MenuShortcut 对象。
- isEnabled()
- 检查当前菜单项是否有效。
- paramString()
- 返回表示当前菜单项状态的参数串。
- processActionEvent(ActionEvent)
-
通过将动作事件分配给任意已注册的
ActionListener 对象,来处理发生在当前菜单项上的动作事件。
- processEvent(AWTEvent)
- 处理当前菜单项上的事件。
- removeActionListener(ActionListener)
- 删除指定的动作监听者,使之不再接收当前菜单项的动作事件。
- setActionCommand(String)
- 设置当前菜单项激活的动作事件的命令名。
- setEnabled(boolean)
- 设置当前菜单项是否能被选择。
- setLabel(String)
- 设置当前菜单项的标签为指定标签。
- setShortcut(MenuShortcut)
-
设置与当前菜单项相关的
MenuShortcut 对象。
构造子
MenuItem
public MenuItem()
- 用一空标签,且无相应快捷键,创建一新 MenuItem 对象。
MenuItem
public MenuItem(String label)
- 用参数指定的标签,无相应快捷键,创建一新 MenuItem 对象。 注意如果参数 label 取值为 "-",则表示生成菜单项间的分隔线。除分隔线外的所有菜单项都缺省设置为可选择的。
- 参数:
- label - 当前菜单项的标签。
MenuItem
public MenuItem(String label,
MenuShortcut s)
- 用相关快捷键创建一菜单项。
注意如果参数 label 取值为 "-",则表示生成菜单项间的分隔线。 除分隔线外的所有菜单项都缺省设置为可选择的。
- 参数:
- label - 当前菜单项的标签。
- s - 与当前菜单项相关的
MenuShortcut 实例。
方法
addNotify
public void addNotify()
- 创建菜单项的同级件。 该同级件允许在不改变菜单项功能的情况下改变其外观。
getLabel
public String getLabel()
- 获取当前菜单项的标签。
- 返回值:
- 当前菜单项的标签,若当前菜单项没有标签,则返回
null 。
- 参见:
- setLabel
setLabel
public synchronized void setLabel(String label)
- 设置当前菜单项的标签为指定标签。
- 参数:
- label - 新标签,若没有标签则为
null。
- 参见:
- getLabel
isEnabled
public boolean isEnabled()
- 检查当前菜单项是否有效。
- 参见:
- setEnabled
setEnabled
public synchronized void setEnabled(boolean b)
- 设置当前菜单项是否能被选择。
- 参数:
- b - 如果为
true, 则使当前菜单项有效;如果为
false,则使当前菜单项无效。
- 参见:
- isEnabled
enable
public synchronized void enable()
- 注释:不推荐使用 enable() 方法。
如同 JDK 1.1 版, 用
setEnabled(boolean)方法替换。
enable
public void enable(boolean b)
- 注释:不推荐使用 enable() 方法。
如同 JDK 1.1 版, 用
setEnabled(boolean)方法替换。
disable
public synchronized void disable()
- 注释:不推荐使用 disable() 方法。
如同 JDK 1.1 版, 用
setEnabled(boolean)方法替换。
getShortcut
public MenuShortcut getShortcut()
- 获取与当前菜单项相关的
MenuShortcut 对象。
- 返回值:
- 与当前菜单项相关的菜单快捷键,如果没有指定相应快捷键,则为
null。
- 参见:
- setShortcut
setShortcut
public void setShortcut(MenuShortcut s)
- 设置与当前菜单项相关的
MenuShortcut 对象。 如果当前菜单项已有一菜单快捷键,替换之。
- 参数:
- s - 与当前菜单项相关的菜单快捷键。
- 参见:
- getShortcut
deleteShortcut
public void deleteShortcut()
- 删除与当前菜单项相关的任一
MenuShortcut 对象。
enableEvents
protected final void enableEvents(long eventsToEnable)
- 使指定的事件屏蔽参数定义的事件,对当前菜单项的传送有效。
当事件的监听者添加一菜单项时,事件类型将自动有效,所以此方法仅需由 MenuItem的子类唤醒,且类MenuItem
期望已将指定的事件类型传送到 processEvent方法,无论监听者是否被登记。
- 参数:
- eventsToEnable - 定义该事件类型的事件屏蔽。
- 参见:
- processEvent, disableEvents, enableEvents
disableEvents
protected final void disableEvents(long eventsToDisable)
- 使指定的事件屏蔽参数定义的事件,对当前菜单项的传送无效。
- 参数:
- eventsToDisable - 定义该事件类型的事件屏蔽。
- 参见:
- processEvent, enableEvents, disableEvents
setActionCommand
public void setActionCommand(String command)
- 设置当前菜单项激活的动作事件的命令名。
将动作命令缺省设置为菜单项标签。
- 参数:
- command - 为当前菜单项设置的动作命令。
- 参见:
- getActionCommand
getActionCommand
public String getActionCommand()
- 获取该菜单项激活的动作的命令名。
- 参见:
- setActionCommand
addActionListener
public synchronized void addActionListener(ActionListener l)
- 添加指定的动作监听者,接收当前菜单项的动作事件。
- 参数:
- l - 动作监听者。
- 参见:
- ActionEvent, ActionListener, removeActionListener
removeActionListener
public synchronized void removeActionListener(ActionListener l)
- 删除指定的动作监听者,使之不再接收当前菜单项的动作事件。
- 参数:
- l - 动作监听者。
- 参见:
- ActionEvent, ActionListener, addActionListener
processEvent
protected void processEvent(AWTEvent e)
- 处理当前菜单项上的事件。 若事件是
ActionEvent 的一个实例,该方法将唤醒 processActionEvent 方法
(MenuItem定义的另一方法)。
当前,菜单项仅支持动作事件。
- 参数:
- e - 事件。
- 覆盖:
- 类 MenuComponent 中的 processEvent
- 参见:
- processActionEvent
processActionEvent
protected void processActionEvent(ActionEvent e)
- 通过将动作事件分配给任意已注册的
ActionListener 对象,来处理发生在当前菜单项上的动作事件。
除非动作事件对此组件是有效的,否则不能调用此方法。 当如下条件之一发生时,动作事件是有效的:
- 通过
addActionListener方法,登记了一个
ActionListener 对象。
- 通过执行
enableEvents方法使动作事件有效。
- 参数:
- e - 动作事件。
- 参见:
- ActionEvent, ActionListener, enableEvents
paramString
public String paramString()
- 返回表示当前菜单项状态的参数串。 该字符串对调试有用。
- 返回值:
- 当前菜单组件的参数字符串。
- 覆盖:
- 类 MenuComponent
中的
paramString