Module  java.desktop
软件包  java.awt

Class Button

  • All Implemented Interfaces:
    ImageObserverMenuContainerSerializableAccessible


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

    以下内容描述了图形

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

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

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

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

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

      • addNotify

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

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

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

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

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

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

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

        重写:
        processEventComponent
        参数
        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