模块  java.desktop
软件包  java.awt

Class Button

  • 实现的所有接口
    ImageObserverMenuContainerSerializableAccessible

    public class Button
    extends Component
    implements Accessible
    该类创建一个带标签的按钮。 按下按钮时,应用程序可能会导致某些操作发生。 此图像描绘了Solaris操作系统下显示的“ Quit ”按钮的三个视图:

    以下上下文描述了图形

    第一个视图显示正常显示的按钮。 第二个视图显示具有输入焦点的按钮。 它的轮廓变暗,让用户知道它是一个活动对象。 第三个视图显示用户在按钮上单击鼠标时的按钮,从而请求执行操作。

    使用鼠标单击按钮的手势与ActionEvent一个实例相关联,当按下鼠标并通过按钮释放时,该实例将被发送出去。 如果应用程序有兴趣知道按钮何时被按下但未被释放,则作为单独的手势,它可以专门化processMouseEvent ,或者它可以通过调用addMouseListener将自己注册为鼠标事件的监听addMouseListener 这两种方法都是由Component定义的,它是所有组件的抽象超类。

    当按下和释放按钮,AWT发送的一个实例ActionEvent到按钮,通过调用processEvent上的按钮。 按钮的processEvent方法接收按钮的所有事件; 它通过调用自己的processActionEvent方法传递一个动作事件。 后一种方法将动作事件传递给已注册对此按钮生成的动作事件感兴趣的任何动作侦听器。

    如果应用程序想要根据按下和释放的按钮执行某些操作,它应该实现ActionListener并通过调用按钮的addActionListener方法注册新的侦听器以从此按钮接收事件。 应用程序可以使用按钮的action命令作为消息传递协议。

    从以下版本开始:
    1.0
    另请参见:
    ActionEventActionListenerComponent.processMouseEvent(java.awt.event.MouseEvent)Component.addMouseListener(java.awt.event.MouseListener)Serialized Form
    • 方法详细信息

      • addNotify

        public void addNotify()
        创建按钮的对等方。 按钮的对等体允许应用程序在不更改其功能的情况下更改按钮的外观。
        重写:
        addNotify在类 Component
        另请参见:
        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则将action命令设置为与按钮的标签匹配。
        从以下版本开始:
        1.1
        另请参见:
        ActionEvent
      • getActionCommand

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

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

        您可以使用类文字指定listenerType参数,例如FooListener.class 例如,您可以使用以下代码查询Button b的动作侦听器:

          ActionListener[] als = (ActionListener[])(b.getListeners(ActionListener.class)); 
        如果不存在此类侦听器,则此方法返回空数组。
        重写:
        getListeners在类 Component
        参数类型
        T - 侦听器的类型
        参数
        listenerType - 请求的侦听器类型; 此参数应指定一个从java.util.EventListener下降的接口
        结果
        此按钮上注册为 FooListener的所有对象的数组,如果未添加此类侦听器,则为空数组
        异常
        ClassCastException - 如果 listenerType未指定实现 java.util.EventListener的类或接口
        从以下版本开始:
        1.3
        另请参见:
        getActionListeners()
      • processEvent

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

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

        重写:
        processEvent在类 Component
        参数
        e - 活动
        从以下版本开始:
        1.1
        另请参见:
        ActionEventprocessActionEvent(java.awt.event.ActionEvent)
      • processActionEvent

        protected void processActionEvent​(ActionEvent e)
        处理在此按钮上发生的操作事件,方法是将它们分派给任何已注册的ActionListener对象。

        除非为此按钮启用了操作事件,否则不会调用此方法。 发生以下任一情况时启用操作事件:

        • ActionListener对象的注册号为addActionListener
        • 通过enableEvents启用操作事件。

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

        参数
        e - 动作事件
        从以下版本开始:
        1.1
        另请参见:
        ActionListeneraddActionListener(java.awt.event.ActionListener)Component.enableEvents(long)
      • paramString

        protected String paramString()
        返回表示此Button的状态的字符串。 此方法仅用于调试目的,返回字符串的内容和格式可能因实现而异。 返回的字符串可能为空,但可能不是null
        重写:
        paramStringComponent
        结果
        此按钮的参数字符串
      • getAccessibleContext

        @BeanProperty(expert=true,
                      description="The AccessibleContext associated with this Button.")
        public AccessibleContext getAccessibleContext()
        获取AccessibleContext与此相关Button 对于按钮, AccessibleContext需要一个的形式AccessibleAWTButton 如有必要,将创建一个新的AccessibleAWTButton实例。
        Specified by:
        getAccessibleContext在界面 Accessible
        重写:
        getAccessibleContextComponent
        结果
        AccessibleAWTButton ,作为 AccessibleContextButton
        从以下版本开始:
        1.3