java.lang.Object java.awt.MenuComponent java.awt.MenuItem java.awt.CheckboxMenuItem
public class CheckboxMenuItem
此类表示一个可包括在菜单中的复选框。选择菜单中的复选框可以将其状态从 "开" 更改为 "关" 或者从 "关" 更改为 "开"。
下图描绘了一个包含 CheckBoxMenuItem
实例的菜单:
Check
项显示了一个处于 "关" 状态的复选框菜单项。
当选定一个复选框菜单项时,AWT 将一个项事件发送到该项。因为该事件是 ItemEvent
的一个实例,所以 processEvent
方法检查该事件,同时将它传递给 processItemEvent
。后一种方法将该事件重定向到任何为关注此菜单项生成的项事件而注册的 ItemListener
对象。
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() 返回在此复选框菜单项上注册的所有项侦听器组成的数组。 |
|
|
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.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 |
构造方法详细信息 |
---|
public CheckboxMenuItem() throws HeadlessException
HeadlessException
- 如果 GraphicsEnvironment.isHeadless() 返回 true
GraphicsEnvironment.isHeadless()
public CheckboxMenuItem(String label) throws HeadlessException
label
- 复选框菜单项的字符串标签,对于没有标签的菜单项,该参数为
null
。
HeadlessException
- 如果 GraphicsEnvironment.isHeadless() 返回 true
GraphicsEnvironment.isHeadless()
public CheckboxMenuItem(String label, boolean state) throws HeadlessException
label
- 复选框菜单项的字符串标签,对于没有标签的菜单项,该参数为
null
。
state
- 菜单项的最初状态,其中
true
指示 "开",
false
指示 "关"。
HeadlessException
- 如果 GraphicsEnvironment.isHeadless() 返回 true
GraphicsEnvironment.isHeadless()
方法详细信息 |
---|
public void addNotify()
public boolean getState()
true
指示 "开",
false
指示 "关"
setState(boolean)
public void setState(boolean b)
true
指示 "开",而
false
指示 "关"。
注意,此方法应主要用于初始化复选框菜单项的状态。以编程方式设置复选框菜单项的状态不会 触发 ItemEvent
。触发 ItemEvent
的唯一方式是通过用户交互。
b
- 如果复选框菜单项处于打开状态,则该参数为
true
,否则为
false
getState()
public Object[] getSelectedObjects()
ItemSelectable
中的
getSelectedObjects
ItemSelectable
public void addItemListener(ItemListener l)
ItemSelectable
中的
addItemListener
l
- 项侦听器
removeItemListener(java.awt.event.ItemListener)
,
getItemListeners()
,
setState(boolean)
,
ItemEvent
,
ItemListener
public void removeItemListener(ItemListener l)
ItemSelectable
中的
removeItemListener
l
- 项侦听器
addItemListener(java.awt.event.ItemListener)
,
getItemListeners()
,
ItemEvent
,
ItemListener
public ItemListener[] getItemListeners()
ItemListener
;如果当前没有已注册的项侦听器,则返回一个空数组。
addItemListener(java.awt.event.ItemListener)
,
removeItemListener(java.awt.event.ItemListener)
,
ItemEvent
,
ItemListener
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
的类或接口
getItemListeners()
protected void processEvent(AWTEvent e)
ItemEvent
的一个实例,则此方法将调用
processItemEvent
方法。如果事件不是一个项事件,则它将调用超类的
processEvent
。
复选框菜单项目前只支持项事件。
注意,如果事件参数为 null
,则行为是不确定的,并可能导致一个异常。
MenuItem
中的
processEvent
e
- 事件
ItemEvent
,
processItemEvent(java.awt.event.ItemEvent)
protected void processItemEvent(ItemEvent e)
ItemListener
对象。
只有此菜单项启用了项事件,才会调用此方法。当出现以下情况时,将启用项事件:
addItemListener
注册了 ItemListener
对象。 enableEvents
启用了项事件。 注意,如果事件参数为 null
,则行为是不确定的,并可能导致异常。
e
- 项事件
ItemEvent
,
ItemListener
,
addItemListener(java.awt.event.ItemListener)
,
MenuItem.enableEvents(long)
public String paramString()
CheckBoxMenuItem
状态的字符串。此方法仅在进行调试的时候使用,对于这两个实现,返回的字符串的内容和格式可能有所不同。返回的字符串可能为空,但不可能为
null
。
MenuItem
中的
paramString
public AccessibleContext getAccessibleContext()
Accessible
中的
getAccessibleContext
MenuItem
中的
getAccessibleContext