JavaTM 2 Platform
Standard Ed. 5.0

java.awt
类 Button

java.lang.Object
  继承者 java.awt.Component
      继承者 java.awt.Button
所有已实现的接口:
ImageObserver, MenuContainer, Serializable, Accessible

public class Button
extends Component
implements Accessible

此类创建一个标签按钮。当按下该按钮时,应用程序能执行某项操作。以下图像描绘了在 Solaris 操作系统下,"Quit" 按钮所表现的三种视图:

有关该图形的描述见下文

第一幅视图展示该按钮在一般情况下的外观。第二幅视图展示该按钮成为输入焦点时的外观。其边框变黑,让用户知道它是一个活动对象。第三幅视图展示用户在该按钮上单击鼠标,从而请求执行某个操作时该按钮的外观。

用鼠标单击按钮这一动作与 ActionEvent 类的一个实例相关,在按下按钮和释放按钮的时候都会用到该类。如果应用程序希望知道何时按钮作为一个单独动作被按下但未释放,它可以特殊化 processMouseEvent,或者通过调用 addMouseListener 将自身注册为鼠标事件的侦听器。这两种方法都是由所有组件的抽象超类 Component 定义的。

当按下按钮并释放时,AWT 通过调用按钮的 processEvent,将 ActionEvent 的一个实例发送给按钮。按钮的 processEvent 方法接收按钮的所有事件;同时,它通过调用自身的 processActionEvent 方法传递一个操作事件。后一种方法将操作事件传递给为关注此按钮授权的操作事件而注册的任何操作侦听器。

如果应用程序想要执行基于按下并释放按钮的某个操作,它应该实现 ActionListener 并注册新的侦听器,以便通过调用按钮的 addActionListener 方法来接收来自此按钮的事件。应用程序可以按消息协议使用按钮的动作命令。

从以下版本开始:
JDK1.0
另请参见:
ActionEvent, ActionListener, Component.processMouseEvent(java.awt.event.MouseEvent), Component.addMouseListener(java.awt.event.MouseListener), 序列化表格

嵌套类摘要
protected  class Button.AccessibleAWTButton
          此类实现对 Button 类的可访问性支持。
 
从类 java.awt.Component 继承的嵌套类/接口
Component.AccessibleAWTComponent, 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
 
构造方法摘要
Button()
          构造一个标签字符串为空的按钮。
Button(String label)
          构造一个带指定标签的按钮。
 
方法摘要
 void addActionListener(ActionListener l)
          添加指定的操作侦听器,以接收来自此按钮的操作事件。
 void addNotify()
          创建按钮的同位体。
 AccessibleContext getAccessibleContext()
          获得与此 Button 相关的 AccessibleContext
 String getActionCommand()
          返回此按钮激发的操作事件的命令名称。
 ActionListener[] getActionListeners()
          返回在此按钮上注册的所有操作侦听器的一个数组。
 String getLabel()
          获得此按钮的标签。
<T extends EventListener>
T[]
getListeners(Class<T> listenerType)
          返回当前在此 Button 上注册为 FooListener 的所有对象的数组。
protected  String paramString()
          返回此 Button 状态的字符串表示形式。
protected  void processActionEvent(ActionEvent e)
          处理发生在此按钮上的操作事件,方法是将这些事件指派给所有已注册的 ActionListener 对象。
protected  void processEvent(AWTEvent e)
          处理此按钮上的事件。
 void removeActionListener(ActionListener l)
          移除指定的操作侦听器,以便它不再接收来自此按钮的操作事件。
 void setActionCommand(String command)
          设置此按钮激发的操作事件的命令名称。
 void setLabel(String label)
          将按钮的标签设置为指定的字符串。
 
从类 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, 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
 

构造方法详细信息

Button

public Button()
       throws HeadlessException
构造一个标签字符串为空的按钮。

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

Button

public Button(String label)
       throws HeadlessException
构造一个带指定标签的按钮。

参数:
label - 按钮的字符串标签,如果没有标签,则为 null
抛出:
HeadlessException - 如果 GraphicsEnvironment.isHeadless() 返回 true
另请参见:
GraphicsEnvironment.isHeadless()
方法详细信息

addNotify

public void addNotify()
创建按钮的同位体。按钮的同位体允许应用程序更改按钮的外观。而不更改其功能。

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

getLabel

public String getLabel()
获得此按钮的标签。

返回:
按钮的标签,如果按钮没有标签,则返回 null
另请参见:
setLabel(java.lang.String)

setLabel

public void setLabel(String label)
将按钮的标签设置为指定的字符串。

参数:
label - 新的标签,如果按钮没有标签,则为 null
另请参见:
getLabel()

setActionCommand

public void setActionCommand(String command)
设置此按钮激发的操作事件的命令名称。在默认情况下,此动作命令设置为与按钮标签相匹配。

参数:
command - 用于设置按钮动作命令的字符串。如果字符串为 null,则动作命令设置为与按钮标签相匹配。
从以下版本开始:
JDK1.1
另请参见:
ActionEvent

getActionCommand

public String getActionCommand()
返回此按钮激发的操作事件的命令名称。如果命令名称为 null(默认),则此方法返回按钮的标签。


addActionListener

public void addActionListener(ActionListener l)
添加指定的操作侦听器,以接收来自此按钮的操作事件。当用户在此按钮上按下或释放鼠标时,发生操作事件。如果 l 为 null,则不抛出任何异常,也不执行任何操作。

参数:
l - 操作侦听器
从以下版本开始:
JDK1.1
另请参见:
removeActionListener(java.awt.event.ActionListener), getActionListeners(), ActionListener

removeActionListener

public void removeActionListener(ActionListener l)
移除指定的操作侦听器,以便它不再接收来自此按钮的操作事件。当用户在此按钮上按下或释放鼠标时,发生操作事件。如果 l 为 null,则不抛出任何异常,也不执行任何操作。

参数:
l - 操作侦听器
从以下版本开始:
JDK1.1
另请参见:
addActionListener(java.awt.event.ActionListener), getActionListeners(), ActionListener

getActionListeners

public ActionListener[] getActionListeners()
返回在此按钮上注册的所有操作侦听器的一个数组。

返回:
此按钮的所有 ActionListener;如果当前没有注册任何操作侦听器,则返回一个空数组。
从以下版本开始:
1.4
另请参见:
addActionListener(java.awt.event.ActionListener), removeActionListener(java.awt.event.ActionListener), ActionListener

getListeners

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

可以使用 class 字面值(如 FooListener.class)来指定 listenerType 参数。例如,可以使用以下代码来查询 Button b 的操作侦听器:

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

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

processEvent

protected void processEvent(AWTEvent e)
处理此按钮上的事件。如果事件是 ActionEvent 的一个实例,则此方法将调用 processActionEvent 方法。否则,它调用超类的 processEvent 方法。

注意,如果事件参数为 null,则行为未指定,并可能导致一个异常。

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

processActionEvent

protected void processActionEvent(ActionEvent e)
处理发生在此按钮上的操作事件,方法是将这些事件指派给所有已注册的 ActionListener 对象。

只有激活了此按钮的操作事件,此方法才有可能被调用。当发生以下事件之一时会激活操作事件:

注意,如果事件参数为 null,则行为未指定,并可能导致一个异常。

参数:
e - 操作事件
从以下版本开始:
JDK1.1
另请参见:
ActionListener, addActionListener(java.awt.event.ActionListener), Component.enableEvents(long)

paramString

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

覆盖:
Component 中的 paramString
返回:
此按钮的参数字符串

getAccessibleContext

public AccessibleContext getAccessibleContext()
获得与此 Button 相关的 AccessibleContext。对于按钮,AccessibleContext 采用 AccessibleAWTButton 的形式。如果有必要,创建一个新的 AccessibleAWTButton 实例。

指定者:
接口 Accessible 中的 getAccessibleContext
覆盖:
Component 中的 getAccessibleContext
返回:
一个 AccessibleAWTButton,它将充当此 ButtonAccessibleContext

JavaTM 2 Platform
Standard Ed. 5.0

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

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