模块 java.desktop
 java.awt

类 CheckboxMenuItem

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

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

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

Menu labeled Examples, containing items Basic, Simple, Check, and More
 Examples. The Check item is a CheckBoxMenuItem instance, in the off state.

标记为 Check 的项目显示处于“关闭”状态的复选框菜单项。

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

自从:
1.0
参见:
  • 构造方法详细信息

    • 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
      参见:
  • 方法详情

    • addNotify

      public void addNotify()
      创建复选框项的对等项。这个对等点允许我们在不改变其功能的情况下改变复选框项目的外观。大多数应用程序不直接调用此方法。
      重写:
      addNotify 在类 MenuItem
      参见:
    • getState

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

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

      请注意,此方法应该主要用于初始化复选框菜单项的状态。以编程方式设置复选框菜单项的状态将not触发 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 s 或一个空数组,如果当前没有注册项目监听器
      自从:
      1.4
      参见:
    • getListeners

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

      您可以使用类文字指定 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 对象来处理此复选框菜单项上发生的项目事件。

      除非为此菜单项启用项目事件,否则不会调用此方法。当发生以下情况之一时,将启用项目事件:

      • ItemListener 对象通过 addItemListener 注册。
      • 项目事件通过 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