JavaTM 2 Platform
Standard Ed. 6

java.awt
类 CheckboxMenuItem

java.lang.Object
  继承者 java.awt.MenuComponent
      继承者 java.awt.MenuItem
          继承者 java.awt.CheckboxMenuItem
所有已实现的接口:
ItemSelectable, Serializable, Accessible

public class CheckboxMenuItem
extends MenuItem
implements ItemSelectable, Accessible

此类表示一个可包括在菜单中的复选框。选择菜单中的复选框可以将其状态从 "开" 更改为 "关" 或者从 "关" 更改为 "开"。

下图描绘了一个包含 CheckBoxMenuItem 实例的菜单:

Examples 菜单,包含 Basic、Simple、Check 和 More Examples 项。Check 项是一个 CheckBoxMenuItem 实例,处于关闭状态。

Check 项显示了一个处于 "关" 状态的复选框菜单项。

当选定一个复选框菜单项时,AWT 将一个项事件发送到该项。因为该事件是 ItemEvent 的一个实例,所以 processEvent 方法检查该事件,同时将它传递给 processItemEvent。后一种方法将该事件重定向到任何为关注此菜单项生成的项事件而注册的 ItemListener 对象。

从以下版本开始:
JDK1.0
另请参见:
ItemEvent, ItemListener, 序列化表格

嵌套类摘要
protected  class CheckboxMenuItem.AccessibleAWTCheckboxMenuItem
          用来为可访问性提供默认支持的 CheckboxMenuItem 的内部类。
 
从类 java.awt.MenuItem 继承的嵌套类/接口
MenuItem.AccessibleAWTMenuItem
 
从类 java.awt.MenuComponent 继承的嵌套类/接口
MenuComponent.AccessibleAWTMenuComponent
 
构造方法摘要
CheckboxMenuItem()
          创建具有空标签的复选框菜单项。
CheckboxMenuItem(String label)
          创建具有指定标签的复选框菜单项。
CheckboxMenuItem(String label, boolean state)
          创建 具有指定标签和状态的复选框菜单项。
 
方法摘要
 void addItemListener(ItemListener l)
          添加指定的项侦听器,以接收发自此复选框菜单项的项事件。
 void addNotify()
          创建复选框项的同位体。
 AccessibleContext getAccessibleContext()
          获取与此 CheckboxMenuItem 相关的 AccessibleContext。
 ItemListener[] getItemListeners()
          返回在此复选框菜单项上注册的所有项侦听器组成的数组。
<T extends EventListener>
T[]
getListeners(Class<T> listenerType)
          返回当前在此 CheckboxMenuItem 上注册为 FooListener 的所有对象组成的数组。
 Object[] getSelectedObjects()
          返回一个数组(长度为 1),它包含复选框菜单项的标签,如果没有选中复选框,则返回 null。
 boolean getState()
          确定此复选框菜单项的状态是 "开" 还是 "关"。
 String paramString()
          返回表示此 CheckBoxMenuItem 状态的字符串。
protected  void processEvent(AWTEvent e)
          处理此复选框菜单项上的事件。
protected  void processItemEvent(ItemEvent e)
          处理发生在此复选框菜单项上的项事件,方法是将这些事件指派给所有已注册的 ItemListener 对象。
 void removeItemListener(ItemListener l)
          移除指定的项侦听器,以便它不再接收发自此复选框菜单项的项事件。
 void setState(boolean b)
          将此复选框菜单项设置为指定的状态。
 
从类 java.awt.MenuItem 继承的方法
addActionListener, deleteShortcut, disable, disableEvents, enable, enable, enableEvents, getActionCommand, getActionListeners, getLabel, getShortcut, isEnabled, processActionEvent, removeActionListener, setActionCommand, setEnabled, setLabel, setShortcut
 
从类 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
 

构造方法详细信息

CheckboxMenuItem

public CheckboxMenuItem()
                 throws HeadlessException
创建具有空标签的复选框菜单项。菜单项的状态初始设置为 "关"。

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

CheckboxMenuItem

public CheckboxMenuItem(String label)
                 throws HeadlessException
创建具有指定标签的复选框菜单项。菜单项的状态初始设置为 "关"。

参数:
label - 复选框菜单项的字符串标签,对于没有标签的菜单项,该参数为 null
抛出:
HeadlessException - 如果 GraphicsEnvironment.isHeadless() 返回 true
另请参见:
GraphicsEnvironment.isHeadless()

CheckboxMenuItem

public CheckboxMenuItem(String label,
                        boolean state)
                 throws HeadlessException
创建 具有指定标签和状态的复选框菜单项。

参数:
label - 复选框菜单项的字符串标签,对于没有标签的菜单项,该参数为 null
state - 菜单项的最初状态,其中 true 指示 "开",false 指示 "关"。
抛出:
HeadlessException - 如果 GraphicsEnvironment.isHeadless() 返回 true
从以下版本开始:
JDK1.1
另请参见:
GraphicsEnvironment.isHeadless()
方法详细信息

addNotify

public void addNotify()
创建复选框项的同位体。此同位体允许更改复选框外观,而不更改其功能。大多数应用程序并不直接调用此方法。

覆盖:
MenuItem 中的 addNotify
另请参见:
Toolkit.createCheckboxMenuItem(java.awt.CheckboxMenuItem), Component.getToolkit()

getState

public boolean getState()
确定此复选框菜单项的状态是 "开" 还是 "关"。

返回:
复选框菜单项的状态,其中 true 指示 "开",false 指示 "关"
另请参见:
setState(boolean)

setState

public void setState(boolean b)
将此复选框菜单项设置为指定的状态。boolean 值 true 指示 "开",而 false 指示 "关"。

注意,此方法应主要用于初始化复选框菜单项的状态。以编程方式设置复选框菜单项的状态不会 触发 ItemEvent。触发 ItemEvent 的唯一方式是通过用户交互。

参数:
b - 如果复选框菜单项处于打开状态,则该参数为 true,否则为 false
另请参见:
getState()

getSelectedObjects

public Object[] getSelectedObjects()
返回一个数组(长度为 1),它包含复选框菜单项的标签,如果没有选中复选框,则返回 null。

指定者:
接口 ItemSelectable 中的 getSelectedObjects
另请参见:
ItemSelectable

addItemListener

public void addItemListener(ItemListener l)
添加指定的项侦听器,以接收发自此复选框菜单项的项事件。发送项事件,以响应用户动作,但不响应对 setState() 的调用。如果 l 为 null,则不抛出任何异常,也不执行任何动作。有关 AWT 的线程模型的细节信息,请参阅 AWT 线程问题

指定者:
接口 ItemSelectable 中的 addItemListener
参数:
l - 项侦听器
从以下版本开始:
JDK1.1
另请参见:
removeItemListener(java.awt.event.ItemListener), getItemListeners(), setState(boolean), ItemEvent, ItemListener

removeItemListener

public void removeItemListener(ItemListener l)
移除指定的项侦听器,以便它不再接收发自此复选框菜单项的项事件。如果 l 为 null,则不抛出任何异常,也不执行任何动作。有关 AWT 的线程模型的细节信息,请参阅 AWT 线程问题

指定者:
接口 ItemSelectable 中的 removeItemListener
参数:
l - 项侦听器
从以下版本开始:
JDK1.1
另请参见:
addItemListener(java.awt.event.ItemListener), getItemListeners(), ItemEvent, ItemListener

getItemListeners

public ItemListener[] getItemListeners()
返回在此复选框菜单项上注册的所有项侦听器组成的数组。

返回:
此复选框菜单的所有 ItemListener;如果当前没有已注册的项侦听器,则返回一个空数组。
从以下版本开始:
1.4
另请参见:
addItemListener(java.awt.event.ItemListener), removeItemListener(java.awt.event.ItemListener), ItemEvent, ItemListener

getListeners

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

可以使用 class 字面值(如 FooListener.class)来指定 listenerType 参数。例如,可以通过以下代码查询 CheckboxMenuItem c,以获得它的项侦听器:

ItemListener[] ils = (ItemListener[])(c.getListeners(ItemListener.class));
如果不存在这样的侦听器,则此方法将返回一个空数组。

覆盖:
MenuItem 中的 getListeners
参数:
listenerType - 请求的侦听器类型;此参数应该指定一个从 java.util.EventListener 继承的接口
返回:
在此复选框菜单上作为 FooListener 注册的所有对象组成的数组;如果尚未添加这样的侦听器,则返回一个空数组
抛出:
ClassCastException - 如果 listenerType 未指定一个实现 java.util.EventListener 的类或接口
从以下版本开始:
1.3
另请参见:
getItemListeners()

processEvent

protected void processEvent(AWTEvent e)
处理此复选框菜单项上的事件。如果事件是 ItemEvent 的一个实例,则此方法将调用 processItemEvent 方法。如果事件不是一个项事件,则它将调用超类的 processEvent

复选框菜单项目前只支持项事件。

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

覆盖:
MenuItem 中的 processEvent
参数:
e - 事件
从以下版本开始:
JDK1.1
另请参见:
ItemEvent, processItemEvent(java.awt.event.ItemEvent)

processItemEvent

protected void processItemEvent(ItemEvent e)
处理发生在此复选框菜单项上的项事件,方法是将这些事件指派给所有已注册的 ItemListener 对象。

只有此菜单项启用了项事件,才会调用此方法。当出现以下情况时,将启用项事件:

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

参数:
e - 项事件
从以下版本开始:
JDK1.1
另请参见:
ItemEvent, ItemListener, addItemListener(java.awt.event.ItemListener), MenuItem.enableEvents(long)

paramString

public String paramString()
返回表示此 CheckBoxMenuItem 状态的字符串。此方法仅在进行调试的时候使用,对于这两个实现,返回的字符串的内容和格式可能有所不同。返回的字符串可能为空,但不可能为 null

覆盖:
MenuItem 中的 paramString
返回:
此复选框菜单项的参数字符串

getAccessibleContext

public AccessibleContext getAccessibleContext()
获取与此 CheckboxMenuItem 相关的 AccessibleContext。对于复选框菜单来说,AccessibleContext 采用 AccessibleAWTCheckboxMenuItem 的形式。如果必要,可以创建一个新的 AccessibleAWTCheckboxMenuItem。

指定者:
接口 Accessible 中的 getAccessibleContext
覆盖:
MenuItem 中的 getAccessibleContext
返回:
一个 AccessibleAWTCheckboxMenuItem,它充当此 CheckboxMenuItem 的 AccessibleContext
从以下版本开始:
1.3

JavaTM 2 Platform
Standard Ed. 6

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

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