JavaTM Platform
Standard Ed. 6

java.awt
类 Checkbox

java.lang.Object
  继承者 java.awt.Component
      继承者 java.awt.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 类将一些复选框组成一组,作为单个对象来控制。在一个复选框组中,在任何给定时间,最多只能有一个按钮处于“开”状态。单击并打开一个复选框会强迫同组中其他原来处于打开状态的复选框变为“关”状态。

从以下版本开始:
JDK1.0
另请参见:
GridLayout, CheckboxGroup, 序列化表格

嵌套类摘要
protected  class Checkbox.AccessibleAWTCheckbox
          此类实现对 Checkbox 类的可访问性支持。
 
从类 java.awt.Component 继承的嵌套类/接口
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
字段摘要
 
从类 java.awt.Component 继承的字段
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
从接口 java.awt.image.ImageObserver 继承的字段
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
构造方法摘要
Checkbox()
          使用空字符串标签创建一个复选框。
Checkbox(String label)
          使用指定标签创建一个复选框。
Checkbox(String label, boolean state)
          使用指定标签创建一个复选框,并将它设置为指定状态。
Checkbox(String label, boolean state, CheckboxGroup group)
          构造具有指定标签的 Checkbox,并将它设置为指定状态,使它处于指定复选框组中。
Checkbox(String label, CheckboxGroup group, boolean state)
          创建具有指定标签的 Checkbox,并使它处于指定复选框组内,将它设置为指定状态。
 
方法摘要
 void addItemListener(ItemListener l)
          添加指定的项侦听器,以接收来自此复选框的项事件。
 void addNotify()
          创建 Checkbox 的同位体。
 AccessibleContext getAccessibleContext()
          获取与此 Checkbox 相关的 AccessibleContext。
 CheckboxGroup getCheckboxGroup()
          确定此复选框的组。
 ItemListener[] getItemListeners()
          返回已在此复选框上注册的所有项侦听器所组成的数组。
 String getLabel()
          获取此复选框的标签。
<T extends EventListener>
T[]
getListeners(Class<T> listenerType)
          返回目前已在此 Checkbox 上注册为 FooListener 的所有对象组成的数组。
 Object[] getSelectedObjects()
          返回包含复选框标签的数组 (length 1),如果没有选定复选框,则返回 null。
 boolean getState()
          确定此复选框是处于“开”状态,还是处于“关”状态。
protected  String paramString()
          返回表示此 Checkbox 的状态的字符串。
protected  void processEvent(AWTEvent e)
          处理关于此复选框的事件。
protected  void processItemEvent(ItemEvent e)
          处理发生在此复选框上的项事件,方法是将这些事件指派给所有已注册的 ItemListener 对象。
 void removeItemListener(ItemListener l)
          移除此项侦听器,这样项侦听器将不再接收发自此复选框的项事件。
 void setCheckboxGroup(CheckboxGroup g)
          将此复选框的组设置为指定复选框组。
 void setLabel(String label)
          将此复选框的标签设置为字符串参数。
 void setState(boolean state)
          将此复选框的状态设置为指定状态。
 
从类 java.awt.Component 继承的方法
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, deliverEvent, disable, disableEvents, dispatchEvent, doLayout, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getAlignmentX, getAlignmentY, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentAt, getComponentAt, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeys, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMaximumSize, getMinimumSize, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, invalidate, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusCycleRoot, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, layout, list, list, list, list, list, locate, location, lostFocus, minimumSize, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paint, paintAll, postEvent, preferredSize, prepareImage, prepareImage, print, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeys, setFocusTraversalKeysEnabled, setFont, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle, update, validate
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

构造方法详细信息

Checkbox

public Checkbox()
         throws HeadlessException
使用空字符串标签创建一个复选框。此复选框的状态被设置为“关”,并且它不属于任何复选框组。

抛出:
HeadlessException - 如果 GraphicsEnvironment.isHeadless() 返回 true
另请参见:
GraphicsEnvironment.isHeadless()

Checkbox

public Checkbox(String label)
         throws HeadlessException
使用指定标签创建一个复选框。此复选框的状态被设置为“关”,并且它不属于任何复选框组。

参数:
label - 此复选框的字符串标签,如果没有标签,则该参数为 null
抛出:
HeadlessException - 如果 GraphicsEnvironment.isHeadless 返回 true
另请参见:
GraphicsEnvironment.isHeadless()

Checkbox

public Checkbox(String label,
                boolean state)
         throws HeadlessException
使用指定标签创建一个复选框,并将它设置为指定状态。该复选框不属于任何复选框组。

参数:
label - 此复选框的字符串标签,如果没有标签,则该参数为 null
state - 此复选框的初始状态
抛出:
HeadlessException - 如果 GraphicsEnvironment.isHeadless 返回 true
另请参见:
GraphicsEnvironment.isHeadless()

Checkbox

public Checkbox(String label,
                boolean state,
                CheckboxGroup group)
         throws HeadlessException
构造具有指定标签的 Checkbox,并将它设置为指定状态,使它处于指定复选框组中。

参数:
label - 此复选框的字符串标签,如果没有标签,则该参数为 null
state - 此复选框的初始状态。
group - 此复选框的复选框组,如果没有这样的复选框组,则该参数为 null
抛出:
HeadlessException - 如果 GraphicsEnvironment.isHeadless 返回 true
从以下版本开始:
JDK1.1
另请参见:
GraphicsEnvironment.isHeadless()

Checkbox

public Checkbox(String label,
                CheckboxGroup group,
                boolean state)
         throws HeadlessException
创建具有指定标签的 Checkbox,并使它处于指定复选框组内,将它设置为指定状态。

参数:
label - 此复选框的字符串标签,如果没有标签,则该参数为 null
group - 此复选框的复选框组,如果没有这样的复选框组,则该参数为 null
state - 此复选框的初始状态。
抛出:
HeadlessException - 如果 GraphicsEnvironment.isHeadless 返回 true
从以下版本开始:
JDK1.1
另请参见:
GraphicsEnvironment.isHeadless()
方法详细信息

addNotify

public void addNotify()
创建 Checkbox 的同位体。该同位体允许更改 Checkbox 的外观,而不更改其功能。

覆盖:
Component 中的 addNotify
另请参见:
Toolkit.createCheckbox(java.awt.Checkbox), Component.getToolkit()

getLabel

public String getLabel()
获取此复选框的标签。

返回:
此复选框的标签,如果此复选框没有标签,则返回 null
另请参见:
setLabel(String)

setLabel

public void setLabel(String label)
将此复选框的标签设置为字符串参数。

参数:
label - 设置为新标签的字符串,如果没有标签,则该参数为 null
另请参见:
getLabel()

getState

public boolean getState()
确定此复选框是处于“开”状态,还是处于“关”状态。boolean 值 true 指示此复选框处于“开”状态,false 指示此复选框处于“关”状态。

返回:
以 boolean 值形式表示的此复选框的状态
另请参见:
setState(boolean)

setState

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

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

参数:
state - 以 boolean 值形式表示的复选框的状态
另请参见:
getState()

getSelectedObjects

public Object[] getSelectedObjects()
返回包含复选框标签的数组 (length 1),如果没有选定复选框,则返回 null。

指定者:
接口 ItemSelectable 中的 getSelectedObjects
另请参见:
ItemSelectable

getCheckboxGroup

public CheckboxGroup getCheckboxGroup()
确定此复选框的组。

返回:
此复选框的组,如果该复选框不属于任何复选框组,则返回 null
另请参见:
setCheckboxGroup(CheckboxGroup)

setCheckboxGroup

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

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

参数:
g - 新复选框组,如果该参数为 null,则从所有复选框组中移除此复选框
另请参见:
getCheckboxGroup()

addItemListener

public void addItemListener(ItemListener l)
添加指定的项侦听器,以接收来自此复选框的项事件。将项事件发送到侦听器,以响应用户输入,但不响应对 setState() 的调用。如果 l 为 null,则不会抛出异常,并且不执行任何操作。有关 AWT 的线程模型的细节信息,请参阅 AWT 线程问题

指定者:
接口 ItemSelectable 中的 addItemListener
参数:
l - 项侦听器
从以下版本开始:
JDK1.1
另请参见:
removeItemListener(java.awt.event.ItemListener), getItemListeners(), setState(boolean), ItemEvent, ItemListener

removeItemListener

public void removeItemListener(ItemListener l)
移除此项侦听器,这样项侦听器将不再接收发自此复选框的项事件。如果 l 为 null,则不会抛出异常,并且不执行任何操作。有关 AWT 的线程模型的细节信息,请参阅 AWT 线程问题

指定者:
接口 ItemSelectable 中的 removeItemListener
参数:
l - 项侦听器
从以下版本开始:
JDK1.1
另请参见:
addItemListener(java.awt.event.ItemListener), getItemListeners(), ItemEvent, ItemListener

getItemListeners

public ItemListener[] getItemListeners()
返回已在此复选框上注册的所有项侦听器所组成的数组。

返回:
此复选框的所有 ItemListener,如果没有当前已注册的项侦听器,则返回一个空数组
从以下版本开始:
1.4
另请参见:
addItemListener(java.awt.event.ItemListener), removeItemListener(java.awt.event.ItemListener), ItemEvent, ItemListener

getListeners

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

可以用一个 class 字面值(比如 FooListener.class)指定 listenerType 参数。例如,可以使用以下代码查询 Checkbox c,以获得它的项侦听器:

ItemListener[] ils = (ItemListener[])(c.getListeners(ItemListener.class));
如果不存在这样的侦听器,则此方法将返回一个空数组。

覆盖:
Component 中的 getListeners
参数:
listenerType - 所请求侦听器的类型;该参数应该指定一个从 java.util.EventListener 遗传下来的接口
返回:
在此复选框上注册为 FooListener 的所有对象组成的数组,如果没有添加这样的侦听器,则返回一个空数组
抛出:
ClassCastException - 如果 listenerType 没有指定实现 java.util.EventListener 的类或接口
从以下版本开始:
1.3
另请参见:
getItemListeners()

processEvent

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

注意,如果事件参数为 null,则行为是不确定的,并且可能导致异常。

覆盖:
Component 中的 processEvent
参数:
e - 事件
从以下版本开始:
JDK1.1
另请参见:
ItemEvent, processItemEvent(java.awt.event.ItemEvent)

processItemEvent

protected void processItemEvent(ItemEvent e)
处理发生在此复选框上的项事件,方法是将这些事件指派给所有已注册的 ItemListener 对象。

只有启用组件的项事件之后,才会调用此方法。当下列事件之一发生时,项事件将被启用:

注意,如果事件参数为 null,则行为是不确定的,并且可能导致异常。

参数:
e - 项事件
从以下版本开始:
JDK1.1
另请参见:
ItemEvent, ItemListener, addItemListener(java.awt.event.ItemListener), Component.enableEvents(long)

paramString

protected String paramString()
返回表示此 Checkbox 的状态的字符串。此方法仅在进行调试的时候使用,对于这两个实现,所返回字符串的内容和格式可能有所不同。返回的字符串可以为空,但不可以为 null

覆盖:
Component 中的 paramString
返回:
此复选框的参数字符串。

getAccessibleContext

public AccessibleContext getAccessibleContext()
获取与此 Checkbox 相关的 AccessibleContext。对于复选框,AccessibleContext 采用的是 AccessibleAWTCheckbox 的形式。如有必要,可以创建一个新的 AccessibleAWTCheckbox。

指定者:
接口 Accessible 中的 getAccessibleContext
覆盖:
Component 中的 getAccessibleContext
返回:
充当此 Checkbox 的 AccessibleContext 的 AccessibleAWTCheckbox
从以下版本开始:
1.3

JavaTM Platform
Standard Ed. 6

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策