Module java.desktop
Package java.awt

Class Checkbox

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

public class Checkbox extends Component implements ItemSelectable, Accessible
复选框是一个图形组件,可以处于“开”(true)或“关”(false)状态。单击复选框会将其状态从“开”更改为“关”,或者从“关”更改为“开”。

以下代码示例创建了一个网格布局中的一组复选框:


 setLayout(new GridLayout(3, 1));
 add(new Checkbox("one", null, true));
 add(new Checkbox("two"));
 add(new Checkbox("three"));
 

此图像描述了此代码示例创建的复选框和网格布局:

以下上下文描述了图形。

标有one的按钮处于“开”状态,其他两个处于“关”状态。在此示例中,使用GridLayout类,三个复选框的状态是独立设置的。

或者,可以将几个复选框组合在一起,由单个对象控制,使用CheckboxGroup类。在复选框组中,最多只能有一个按钮处于“开”状态。单击复选框以将其打开会强制将同一组中处于打开状态的任何其他复选框置为“关”状态。

自:
1.0
参见:
  • Constructor Details

    • Checkbox

      public Checkbox() throws HeadlessException
      创建一个带有空字符串标签的复选框。此复选框的状态设置为“关”,并且不属于任何复选框组。
      抛出:
      HeadlessException - 如果GraphicsEnvironment.isHeadless()返回true
      参见:
    • Checkbox

      public Checkbox(String label) throws HeadlessException
      创建一个带有指定标签的复选框。此复选框的状态设置为“关”,并且不属于任何复选框组。
      参数:
      label - 用于此复选框的字符串标签,或null表示无标签。
      抛出:
      HeadlessException - 如果GraphicsEnvironment.isHeadless返回true
      参见:
    • Checkbox

      public Checkbox(String label, boolean state) throws HeadlessException
      创建一个带有指定标签并设置指定状态的复选框。此复选框不属于任何复选框组。
      参数:
      label - 用于此复选框的字符串标签,或null表示无标签
      state - 此复选框的初始状态
      抛出:
      HeadlessException - 如果GraphicsEnvironment.isHeadless返回true
      参见:
    • Checkbox

      public Checkbox(String label, boolean state, CheckboxGroup group) throws HeadlessException
      构造具有指定标签、设置为指定状态并位于指定复选框组中的复选框。
      参数:
      label - 用于此复选框的字符串标签,或null表示无标签。
      state - 此复选框的初始状态。
      group - 用于此复选框的复选框组,或null表示无组。
      抛出:
      HeadlessException - 如果GraphicsEnvironment.isHeadless返回true
      自:
      1.1
      参见:
    • Checkbox

      public Checkbox(String label, CheckboxGroup group, boolean state) throws HeadlessException
      创建一个带有指定标签、位于指定复选框组中并设置为指定状态的复选框。
      参数:
      label - 用于此复选框的字符串标签,或null表示无标签。
      group - 用于此复选框的复选框组,或null表示无组。
      state - 此复选框的初始状态。
      抛出:
      HeadlessException - 如果GraphicsEnvironment.isHeadless返回true
      自:
      1.1
      参见:
  • Method Details

    • addNotify

      public void addNotify()
      创建复选框的对等体。对等体允许您更改复选框的外观而不更改其功能。
      覆盖:
      addNotify 在类 Component
      参见:
    • getLabel

      public String getLabel()
      获取此复选框的标签。
      返回:
      此复选框的标签,如果此复选框没有标签则返回null
      参见:
    • setLabel

      public void setLabel(String label)
      将此复选框的标签设置为字符串参数。
      参数:
      label - 要设置为新标签的字符串,或null表示无标签。
      参见:
    • getState

      public boolean getState()
      确定此复选框处于“开”还是“关”状态。布尔值true表示“开”状态,false表示“关”状态。
      返回:
      此复选框的状态,作为布尔值
      参见:
    • setState

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

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

      参数:
      state - 复选框的布尔状态
      参见:
    • getSelectedObjects

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

      public CheckboxGroup getCheckboxGroup()
      确定此复选框的组。
      返回值:
      此复选框的组,如果复选框不是复选框组的一部分,则返回null
      参见:
    • setCheckboxGroup

      public void setCheckboxGroup(CheckboxGroup g)
      将此复选框的组设置为指定的复选框组。如果此复选框已经在另一个复选框组中,则首先将其从该组中移除。

      如果此复选框的状态为true,并且新组已经有选中的复选框,则此复选框的状态将更改为false。如果此复选框的状态为true,并且新组没有选中的复选框,则此复选框将成为新组的选中复选框,并且其状态为true

      参数:
      g - 新的复选框组,或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)
      返回当前在此Checkbox上注册为FooListener的所有对象的数组。使用addFooListener方法注册FooListener

      您可以使用类文字(例如FooListener.class)指定listenerType参数。例如,您可以使用以下代码查询Checkbox c的项目侦听器:

      ItemListener[] ils = (ItemListener[])(c.getListeners(ItemListener.class));
      如果不存在此类侦听器,则此方法返回一个空数组。
      覆盖:
      getListeners 在类 Component
      类型参数:
      T - 侦听器的类型
      参数:
      listenerType - 请求的侦听器类型;此参数应指定从java.util.EventListener继承的接口
      返回值:
      在此复选框上注册为FooListener的所有对象的数组,如果尚未添加此类侦听器,则返回一个空数组
      抛出:
      ClassCastException - 如果listenerType未指定实现java.util.EventListener的类或接口
      自版本:
      1.3
      参见:
    • processEvent

      protected void processEvent(AWTEvent e)
      处理此复选框上的事件。如果事件是ItemEvent的实例,则此方法调用processItemEvent方法。否则,它调用其超类的processEvent方法。

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

      覆盖:
      processEvent 在类 Component
      参数:
      e - 事件
      自版本:
      1.1
      参见:
    • processItemEvent

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

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

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

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

      参数:
      e - 项目事件
      自版本:
      1.1
      参见:
    • paramString

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

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