Module java.desktop
Package javax.swing

Class JCheckBoxMenuItem

所有已实现的接口:
ImageObserver, ItemSelectable, MenuContainer, Serializable, Accessible, MenuElement, SwingConstants

@JavaBean(description="A menu item which can be selected or deselected.") public class JCheckBoxMenuItem extends JMenuItem implements SwingConstants, Accessible
一个可以被选择或取消选择的菜单项。如果被选择,菜单项通常会显示一个旁边带有复选标记的选项。如果未被选择或取消选择,菜单项将不显示复选标记。与常规菜单项一样,复选框菜单项可以关联文本、图形图标或两者。

可以使用isSelected/setSelectedgetState/setState来确定/指定菜单项的选择状态。首选方法是isSelectedsetSelected,适用于所有菜单和按钮。getStatesetState方法存在是为了与其他组件集兼容。

菜单项可以通过Action进行配置和在一定程度上控制。使用Action与菜单项有许多好处,超出了直接配置菜单项。有关更多详细信息,请参阅支持Action的Swing组件,您可以在The Java Tutorial如何使用Actions部分找到更多信息。

有时需要从菜单中选择几个复选框菜单项。在这种情况下,有用的是单击一个复选框菜单项不会关闭菜单。这种行为可以通过客户端JComponent.putClientProperty(java.lang.Object, java.lang.Object)或外观和感觉UIManager.put(java.lang.Object, java.lang.Object)属性"CheckBoxMenuItem.doNotCloseOnMouseClick"来控制。默认值为false。将属性设置为true会防止鼠标单击时关闭菜单。如果设置了客户端属性,则始终使用其值;否则查询L&F属性。注意:一些L&F可能会忽略此属性。所有内置L&F都继承此行为。

有关更多关于使用复选框菜单项的信息和示例,请参阅The Java Tutorial中的如何使用菜单部分。

警告:Swing不是线程安全的。更多信息请参阅Swing的线程策略

警告:此类的序列化对象将不兼容未来的Swing版本。当前的序列化支持适用于短期存储或在运行相同Swing版本的应用程序之间的RMI。从1.4开始,已将所有JavaBeans的长期存储支持添加到java.beans包中。请参阅XMLEncoder

自:
1.2
  • Constructor Details

    • JCheckBoxMenuItem

      public JCheckBoxMenuItem()
      创建一个最初未选中的复选框菜单项,没有设置文本或图标。
    • JCheckBoxMenuItem

      public JCheckBoxMenuItem(Icon icon)
      创建一个带有图标的最初未选中的复选框菜单项。
      参数:
      icon - JCheckBoxMenuItem的图标。
    • JCheckBoxMenuItem

      public JCheckBoxMenuItem(String text)
      创建一个带有文本的最初未选中的复选框菜单项。
      参数:
      text - JCheckBoxMenuItem的文本
    • JCheckBoxMenuItem

      public JCheckBoxMenuItem(Action a)
      创建一个属性取自提供的Action的菜单项。
      参数:
      a - JCheckBoxMenuItem的动作
      自:
      1.3
    • JCheckBoxMenuItem

      public JCheckBoxMenuItem(String text, Icon icon)
      创建一个带有指定文本和图标的最初未选中的复选框菜单项。
      参数:
      text - JCheckBoxMenuItem的文本
      icon - JCheckBoxMenuItem的图标
    • JCheckBoxMenuItem

      public JCheckBoxMenuItem(String text, boolean b)
      创建具有指定文本和选择状态的复选框菜单项。
      参数:
      text - 复选框菜单项的文本。
      b - 复选框菜单项的选择状态
    • JCheckBoxMenuItem

      public JCheckBoxMenuItem(String text, Icon icon, boolean b)
      创建具有指定文本、图标和选择状态的复选框菜单项。
      参数:
      text - 复选框菜单项的文本
      icon - 复选框菜单项的图标
      b - 复选框菜单项的选择状态
  • Method Details

    • getUIClassID

      @BeanProperty(bound=false) public String getUIClassID()
      返回呈现此组件的L&F类的名称。
      覆盖:
      getUIClassID 在类 JMenuItem
      返回:
      字符串"CheckBoxMenuItemUI"
      参见:
    • getState

      public boolean getState()
      返回该项的选择状态。此方法仅为AWT兼容性而存在。新代码应使用isSelected()。
      返回:
      如果该项被选中,则为true
    • setState

      @BeanProperty(bound=false, hidden=true, description="The selection state of the check box menu item") public void setState(boolean b)
      设置该项的选择状态。此方法仅为AWT兼容性而存在。新代码应使用setSelected()。
      参数:
      b - 一个布尔值,指示该项的选择状态,其中true=已选中
    • getSelectedObjects

      @BeanProperty(bound=false) public Object[] getSelectedObjects()
      返回一个包含复选框菜单项标签的数组(长度为1),如果复选框未被选中则返回null。
      指定者:
      getSelectedObjects 在接口 ItemSelectable
      覆盖:
      getSelectedObjects 在类 AbstractButton
      返回:
      一个包含一个对象的数组 -- 如果该项被选中,则为菜单项的文本;否则为null
    • paramString

      protected String paramString()
      返回此JCheckBoxMenuItem的字符串表示形式。此方法仅用于调试目的,返回的字符串的内容和格式可能因实现而异。返回的字符串可能为空,但不能为null
      覆盖:
      paramString 在类 JMenuItem
      返回:
      此JCheckBoxMenuItem的字符串表示形式。
    • getAccessibleContext

      @BeanProperty(bound=false) public AccessibleContext getAccessibleContext()
      获取与此JCheckBoxMenuItem关联的AccessibleContext。对于JCheckBoxMenuItems,AccessibleContext采用AccessibleJCheckBoxMenuItem的形式。如果需要,将创建一个新的AccessibleJCheckBoxMenuItem实例。
      指定者:
      getAccessibleContext 在接口 Accessible
      覆盖:
      getAccessibleContext 在类 JMenuItem
      返回:
      作为此AccessibleJCheckBoxMenuItem的AccessibleContext的AccessibleJCheckBoxMenuItem