java.lang.Object
java.awt.MenuComponent
java.awt.MenuItem
java.awt.CheckboxMenuItem
- 所有已实现的接口:
-
ItemSelectable
,Serializable
,Accessible
这个类表示可以包含在菜单中的复选框。在菜单中选择复选框会将其状态从“开”更改为“关”或从“关”更改为“开”。
以下图片展示了一个包含CheckBoxMenuItem
实例的菜单:
标有Check
的项目显示了一个处于“关闭”状态的复选框菜单项。
当选择复选框菜单项时,AWT会向该项发送一个项目事件。由于事件是ItemEvent
的一个实例,processEvent
方法会检查事件并将其传递给processItemEvent
。后者方法将事件重定向到任何已注册对此菜单项生成的项目事件感兴趣的ItemListener
对象。
- 自:
- 1.0
- 参见:
-
Nested Class Summary
Modifier and TypeClassDescriptionprotected class
CheckboxMenuItem的内部类,用于提供对辅助功能的默认支持。Nested classes/interfaces declared in class java.awt.MenuItem
MenuItem.AccessibleAWTMenuItem
Nested classes/interfaces declared in class java.awt.MenuComponent
MenuComponent.AccessibleAWTMenuComponent
-
Constructor Summary
ConstructorDescription创建一个带有空标签的复选框菜单项。CheckboxMenuItem
(String label) 创建一个带有指定标签的复选框菜单项。CheckboxMenuItem
(String label, boolean state) 创建一个带有指定标签和状态的复选框菜单项。 -
Method Summary
Modifier and TypeMethodDescriptionvoid
添加指定的项目侦听器以接收来自此复选框菜单项的项目事件。void
创建复选框项的对等体。获取与此CheckboxMenuItem关联的AccessibleContext。返回在此复选框菜单项上注册的所有项目侦听器的数组。<T extends EventListener>
T[]getListeners
(Class<T> listenerType) 返回当前在此CheckboxMenuItem
上注册为FooListener
的所有对象的数组。Object[]
返回包含复选框菜单项标签的数组(长度为1),如果复选框未被选中则返回null。boolean
getState()
确定此复选框菜单项的状态是“开”还是“关”。返回表示此CheckBoxMenuItem
状态的字符串。protected void
处理此复选框菜单项上的事件。protected void
通过将其分派给任何已注册对此复选框菜单项生成的项目事件感兴趣的ItemListener
对象,处理在此复选框菜单项上发生的项目事件。void
删除指定的项目侦听器,使其不再接收来自此复选框菜单项的项目事件。void
setState
(boolean b) 将此复选框菜单项设置为指定的状态。Methods declared in class java.awt.MenuItem
addActionListener, deleteShortcut, disable, disableEvents, enable, enable, enableEvents, getActionCommand, getActionListeners, getLabel, getShortcut, isEnabled, processActionEvent, removeActionListener, setActionCommand, setEnabled, setLabel, setShortcut
Methods declared in class java.awt.MenuComponent
dispatchEvent, getFont, getName, getParent, getTreeLock, postEvent, removeNotify, setFont, setName, toString
-
Constructor Details
-
CheckboxMenuItem
创建一个带有空标签的复选框菜单项。该项目的状态最初设置为“关”。- 抛出:
-
HeadlessException
- 如果GraphicsEnvironment.isHeadless()返回true - 自:
- 1.1
- 参见:
-
CheckboxMenuItem
创建一个带有指定标签的复选框菜单项。该项目的状态最初设置为“关”。- 参数:
-
label
- 复选框菜单项的字符串标签,或null
表示无标签菜单项。 - 抛出:
-
HeadlessException
- 如果GraphicsEnvironment.isHeadless()返回true - 参见:
-
CheckboxMenuItem
创建一个带有指定标签和状态的复选框菜单项。- 参数:
-
label
- 复选框菜单项的字符串标签,或null
表示无标签菜单项。 -
state
- 菜单项的初始状态,其中true
表示“开”,false
表示“关”。 - 抛出:
-
HeadlessException
- 如果GraphicsEnvironment.isHeadless()返回true - 自:
- 1.1
- 参见:
-
-
Method Details
-
addNotify
public void addNotify()创建复选框项的对等体。此对等体允许我们更改复选框项的外观而不更改其功能。大多数应用程序不会直接调用此方法。 -
getState
public boolean getState()确定此复选框菜单项的状态是“开”还是“关”。- 返回:
-
此复选框菜单项的状态,其中
true
表示“开”,false
表示“关” - 参见:
-
setState
public void setState(boolean b) 将此复选框菜单项设置为指定的状态。布尔值true
表示“开”,而false
表示“关”。请注意,此方法主要用于初始化复选框菜单项的状态。通过编程方式设置复选框菜单项的状态不会触发
ItemEvent
。触发ItemEvent
的唯一方法是通过用户交互。- 参数:
-
b
- 如果复选框菜单项为开,则为true
,否则为false
- 参见:
-
getSelectedObjects
返回包含复选框菜单项标签的数组(长度为1),如果复选框未被选中则返回null。- 指定者:
-
getSelectedObjects
在接口中ItemSelectable
- 返回:
-
选定对象的列表,或
null
- 参见:
-
addItemListener
添加指定的项目侦听器以接收来自此复选框菜单项的项目事件。项目事件是响应用户操作发送的,但不是响应对setState()的调用。如果l为null,则不会抛出异常,也不会执行任何操作。有关AWT线程模型的详细信息,请参阅AWT线程问题。
- 指定者:
-
addItemListener
在接口中ItemSelectable
- 参数:
-
l
- 项目侦听器 - 自:
- 1.1
- 参见:
-
removeItemListener
删除指定的项目侦听器,使其不再接收来自此复选框菜单项的项目事件。如果l为null,则不会抛出异常,也不会执行任何操作。有关AWT线程模型的详细信息,请参阅AWT线程问题。
- 指定者:
-
removeItemListener
在接口中ItemSelectable
- 参数:
-
l
- 项目侦听器 - 自:
- 1.1
- 参见:
-
getItemListeners
返回在此复选框菜单项上注册的所有项目侦听器的数组。- 返回:
-
所有此复选框菜单项的
ItemListener
,如果当前未注册任何项目侦听器,则返回空数组 - 自:
- 1.4
- 参见:
-
getListeners
返回当前在此CheckboxMenuItem
上注册为FooListener
的所有对象的数组。使用addFooListener
方法注册FooListener
。您可以使用类字面量指定
listenerType
参数,例如FooListener.class
。例如,您可以使用以下代码查询CheckboxMenuItem c
的项目监听器:ItemListener[] ils = (ItemListener[])(c.getListeners(ItemListener.class));
如果不存在此类监听器,则此方法返回一个空数组。- 覆盖:
-
getListeners
在类MenuItem
中 - 类型参数:
-
T
- 监听器的类型 - 参数:
-
listenerType
- 请求的监听器类型;此参数应指定从java.util.EventListener
继承的接口 - 返回:
-
返回在此复选框菜单项上注册为
FooListener
的所有对象的数组,如果没有添加此类监听器,则返回一个空数组 - 抛出:
-
ClassCastException
- 如果listenerType
未指定实现java.util.EventListener
的类或接口 - 自:
- 1.3
- 另请参阅:
-
processEvent
处理此复选框菜单项上的事件。如果事件是ItemEvent
的实例,则此方法调用processItemEvent
方法。如果事件不是项目事件,则在超类上调用processEvent
。复选框菜单项当前仅支持项目事件。
请注意,如果事件参数为
null
,则行为是未指定的,可能会导致异常。- 覆盖:
-
processEvent
在类MenuItem
中 - 参数:
-
e
- 事件 - 自:
- 1.1
- 另请参阅:
-
processItemEvent
通过将项目事件分派给任何已注册的ItemListener
对象来处理在此复选框菜单项上发生的项目事件。仅当为此菜单项启用项目事件时才调用此方法。当发生以下情况之一时,将启用项目事件:
- 通过
addItemListener
注册了一个ItemListener
对象。 - 通过
enableEvents
启用了项目事件。
请注意,如果事件参数为
null
,则行为是未指定的,可能会导致异常。- 参数:
-
e
- 项目事件 - 自:
- 1.1
- 另请参阅:
- 通过
-
paramString
返回表示此CheckBoxMenuItem
状态的字符串。此方法仅用于调试目的,返回的字符串的内容和格式可能因实现而异。返回的字符串可能为空,但不能为null
。- 覆盖:
-
paramString
在类MenuItem
中 - 返回:
- 此复选框菜单项的参数字符串
-
getAccessibleContext
获取与此CheckboxMenuItem关联的AccessibleContext。对于复选框菜单项,AccessibleContext采用AccessibleAWTCheckboxMenuItem的形式。如果需要,将创建一个新的AccessibleAWTCheckboxMenuItem。- 指定者:
-
getAccessibleContext
在接口Accessible
中 - 覆盖:
-
getAccessibleContext
在类MenuItem
中 - 返回:
- 作为此CheckboxMenuItem的AccessibleContext的AccessibleAWTCheckboxMenuItem
- 自:
- 1.3
-