public class CheckboxMenuItem extends MenuItem implements ItemSelectable, Accessible
下图显示了一个包含CheckBoxMenuItem
的实例的CheckBoxMenuItem
:
标有Check
的项目显示“关闭”状态下的复选框菜单项。
当选中复选框菜单项时,AWT会将一个项目事件发送到该项目。 由于事件是ItemEvent
一个实例,因此processEvent
方法检查事件并将其传递到processItemEvent
。 后一种方法将事件ItemListener
到已经注册了对该菜单项生成的项目事件感兴趣的任何ItemListener
对象。
ItemEvent
, ItemListener
, Serialized Form
Modifier and Type | Class and Description |
---|---|
protected class |
CheckboxMenuItem.AccessibleAWTCheckboxMenuItem
用于提供对辅助功能的默认支持的CheckboxMenuItem的内部类。
|
MenuItem.AccessibleAWTMenuItem
MenuComponent.AccessibleAWTMenuComponent
Constructor and Description |
---|
CheckboxMenuItem()
创建一个带有空标签的复选框菜单项。
|
CheckboxMenuItem(String label)
创建带有指定标签的复选框菜单项。
|
CheckboxMenuItem(String label, boolean state)
创建带有指定标签和状态的复选框菜单项。
|
Modifier and Type | Method and Description |
---|---|
void |
addItemListener(ItemListener l)
添加指定的项目侦听器以从此复选框菜单项接收项目事件。
|
void |
addNotify()
创建复选框项目的对等体。
|
AccessibleContext |
getAccessibleContext()
获取与此CheckboxMenuItem关联的AccessibleContext。
|
ItemListener[] |
getItemListeners()
返回在此复选框菜单上注册的所有项目侦听器的数组。
|
<T extends EventListener> |
getListeners(类<T> listenerType)
返回当前注册为
FooListener 的所有对象的数组,该对象为
CheckboxMenuItem 。
|
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)
将此复选框菜单项设置为指定的状态。
|
addActionListener, deleteShortcut, disable, disableEvents, enable, enable, enableEvents, getActionCommand, getActionListeners, getLabel, getShortcut, isEnabled, processActionEvent, removeActionListener, setActionCommand, setEnabled, setLabel, setShortcut
dispatchEvent, getFont, getName, getParent, getPeer, getTreeLock, postEvent, removeNotify, setFont, setName, toString
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()
getSelectedObjects
在界面
ItemSelectable
ItemSelectable
public void addItemListener(ItemListener l)
请参阅AWT Threading Issues有关AWT的线程模型的细节。
addItemListener
在界面
ItemSelectable
l
- 项目侦听器
removeItemListener(java.awt.event.ItemListener)
, getItemListeners()
, setState(boolean)
, ItemEvent
, ItemListener
public void removeItemListener(ItemListener l)
removeItemListener
在界面
ItemSelectable
l
- 项目侦听器
addItemListener(java.awt.event.ItemListener)
, getItemListeners()
, ItemEvent
, ItemListener
public ItemListener[] getItemListeners()
ItemListener
s或一个空数组,如果没有项目监听器当前注册
addItemListener(java.awt.event.ItemListener)
, removeItemListener(java.awt.event.ItemListener)
, ItemEvent
, ItemListener
public <T extends EventListener> T[] getListeners(类<T> listenerType)
FooListener
的所有对象的数组,此对象为CheckboxMenuItem
。
FooListener
使用addFooListener
方法注册。
您可以使用类文字指定listenerType
参数,例如FooListener.class
。 例如,您可以使用以下代码查询CheckboxMenuItem
c
的项目侦听器:
ItemListener[] ils = (ItemListener[])(c.getListeners(ItemListener.class));
如果没有这样的侦听器存在,这个方法返回一个空数组。
getListeners
在类别
MenuItem
listenerType
- 所请求的听众的类型;
此参数应指定从java.util.EventListener
FooListener
的所有对象的数组,如果没有添加这样的侦听器,则是一个空数组
ClassCastException
- 如果
listenerType
没有指定实现java.util.EventListener的类或
java.util.EventListener
getItemListeners()
protected void processEvent(AWTEvent e)
ItemEvent
一个实例, ItemEvent
此方法调用processItemEvent
方法。
如果事件不是项目事件,它将在processEvent
上调用processEvent。
复选框菜单项目目前仅支持项目事件。
请注意,如果事件参数为null
该行为是未指定的,可能会导致异常。
processEvent
在类别
MenuItem
e
- 事件
ItemEvent
, processItemEvent(java.awt.event.ItemEvent)
protected void processItemEvent(ItemEvent e)
ItemListener
对象来处理项目事件。
除非为此菜单项启用项目事件,否则不调用此方法。 当以下情况发生时,项目事件被启用:
ItemListener
对象通过addItemListener
。 enableEvents
启用。 请注意,如果事件参数是null
,行为是未指定的,可能会导致异常。
e
- 项目事件
ItemEvent
, ItemListener
, addItemListener(java.awt.event.ItemListener)
, MenuItem.enableEvents(long)
public String paramString()
CheckBoxMenuItem
的状态的字符串。
该方法仅用于调试目的,并且返回的字符串的内容和格式可能因实现而异。
返回的字符串可能为空,但可能不是null
。
paramString
在类别
MenuItem
public AccessibleContext getAccessibleContext()
getAccessibleContext
在界面
Accessible
getAccessibleContext
在类别
MenuItem