Module java.desktop
Package java.awt

Class CheckboxMenuItem

所有已实现的接口:
ItemSelectable, Serializable, Accessible

public class CheckboxMenuItem extends MenuItem implements ItemSelectable, Accessible
这个类表示可以包含在菜单中的复选框。在菜单中选择复选框会将其状态从“开”更改为“关”或从“关”更改为“开”。

以下图片展示了一个包含CheckBoxMenuItem实例的菜单:

标有示例的菜单,包含基本、简单、检查和更多示例项目。检查项目是一个CheckBoxMenuItem实例,在关闭状态。

标有Check的项目显示了一个处于“关闭”状态的复选框菜单项。

当选择复选框菜单项时,AWT会向该项发送一个项目事件。由于事件是ItemEvent的一个实例,processEvent方法会检查事件并将其传递给processItemEvent。后者方法将事件重定向到任何已注册对此菜单项生成的项目事件感兴趣的ItemListener对象。

自:
1.0
参见:
  • Constructor Details

    • CheckboxMenuItem

      public CheckboxMenuItem() throws HeadlessException
      创建一个带有空标签的复选框菜单项。该项目的状态最初设置为“关”。
      抛出:
      HeadlessException - 如果GraphicsEnvironment.isHeadless()返回true
      自:
      1.1
      参见:
    • CheckboxMenuItem

      public CheckboxMenuItem(String label) throws HeadlessException
      创建一个带有指定标签的复选框菜单项。该项目的状态最初设置为“关”。
      参数:
      label - 复选框菜单项的字符串标签,或null表示无标签菜单项。
      抛出:
      HeadlessException - 如果GraphicsEnvironment.isHeadless()返回true
      参见:
    • CheckboxMenuItem

      public CheckboxMenuItem(String label, boolean state) throws HeadlessException
      创建一个带有指定标签和状态的复选框菜单项。
      参数:
      label - 复选框菜单项的字符串标签,或null表示无标签菜单项。
      state - 菜单项的初始状态,其中true表示“开”,false表示“关”。
      抛出:
      HeadlessException - 如果GraphicsEnvironment.isHeadless()返回true
      自:
      1.1
      参见:
  • Method Details

    • addNotify

      public void addNotify()
      创建复选框项的对等体。此对等体允许我们更改复选框项的外观而不更改其功能。大多数应用程序不会直接调用此方法。
      覆盖:
      addNotify 在类中 MenuItem
      参见:
    • getState

      public boolean getState()
      确定此复选框菜单项的状态是“开”还是“关”。
      返回:
      此复选框菜单项的状态,其中true表示“开”,false表示“关”
      参见:
    • setState

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

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

      参数:
      b - 如果复选框菜单项为开,则为true,否则为false
      参见:
    • getSelectedObjects

      public Object[] getSelectedObjects()
      返回包含复选框菜单项标签的数组(长度为1),如果复选框未被选中则返回null。
      指定者:
      getSelectedObjects 在接口中 ItemSelectable
      返回:
      选定对象的列表,或null
      参见:
    • addItemListener

      public void addItemListener(ItemListener l)
      添加指定的项目侦听器以接收来自此复选框菜单项的项目事件。项目事件是响应用户操作发送的,但不是响应对setState()的调用。如果l为null,则不会抛出异常,也不会执行任何操作。

      有关AWT线程模型的详细信息,请参阅AWT线程问题

      指定者:
      addItemListener 在接口中 ItemSelectable
      参数:
      l - 项目侦听器
      自:
      1.1
      参见:
    • removeItemListener

      public void removeItemListener(ItemListener l)
      删除指定的项目侦听器,使其不再接收来自此复选框菜单项的项目事件。如果l为null,则不会抛出异常,也不会执行任何操作。

      有关AWT线程模型的详细信息,请参阅AWT线程问题

      指定者:
      removeItemListener 在接口中 ItemSelectable
      参数:
      l - 项目侦听器
      自:
      1.1
      参见:
    • getItemListeners

      public ItemListener[] getItemListeners()
      返回在此复选框菜单项上注册的所有项目侦听器的数组。
      返回:
      所有此复选框菜单项的ItemListener,如果当前未注册任何项目侦听器,则返回空数组
      自:
      1.4
      参见:
    • getListeners

      public <T extends EventListener> T[] getListeners(Class<T> listenerType)
      返回当前在此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

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

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

      请注意,如果事件参数为null,则行为是未指定的,可能会导致异常。

      覆盖:
      processEvent 在类 MenuItem
      参数:
      e - 事件
      自:
      1.1
      另请参阅:
    • processItemEvent

      protected void processItemEvent(ItemEvent e)
      通过将项目事件分派给任何已注册的ItemListener对象来处理在此复选框菜单项上发生的项目事件。

      仅当为此菜单项启用项目事件时才调用此方法。当发生以下情况之一时,将启用项目事件:

      • 通过addItemListener注册了一个ItemListener对象。
      • 通过enableEvents启用了项目事件。

      请注意,如果事件参数为null,则行为是未指定的,可能会导致异常。

      参数:
      e - 项目事件
      自:
      1.1
      另请参阅:
    • paramString

      public String paramString()
      返回表示此CheckBoxMenuItem状态的字符串。此方法仅用于调试目的,返回的字符串的内容和格式可能因实现而异。返回的字符串可能为空,但不能为null
      覆盖:
      paramString 在类 MenuItem
      返回:
      此复选框菜单项的参数字符串
    • getAccessibleContext

      public AccessibleContext getAccessibleContext()
      获取与此CheckboxMenuItem关联的AccessibleContext。对于复选框菜单项,AccessibleContext采用AccessibleAWTCheckboxMenuItem的形式。如果需要,将创建一个新的AccessibleAWTCheckboxMenuItem。
      指定者:
      getAccessibleContext 在接口 Accessible
      覆盖:
      getAccessibleContext 在类 MenuItem
      返回:
      作为此CheckboxMenuItem的AccessibleContext的AccessibleAWTCheckboxMenuItem
      自:
      1.3