Module  java.desktop
软件包  javax.swing

Class DefaultButtonModel

  • All Implemented Interfaces:
    ItemSelectableSerializableButtonModel
    已知直接子类:
    JToggleButton.ToggleButtonModel


    public class DefaultButtonModel
    extends Object
    implements ButtonModel, Serializable
    默认实现的一个Button组件的数据模型。

    警告:此类的序列化对象与将来的Swing版本不兼容。 当前的序列化支持适用于运行相同版本的Swing的应用程序之间的短期存储或RMI。 从1.4版本开始,所有JavaBeans的长期存储支持已被添加到java.beans软件包中。 请参阅XMLEncoder

    从以下版本开始:
    1.2
    另请参见:
    Serialized Form
    • 字段详细信息

      • stateMask

        protected int stateMask
        该位掩码用于存储按钮的状态。
      • actionCommand

        protected String actionCommand
        按钮触发的动作命令字符串。
      • group

        protected ButtonGroup group
        按钮所属的按钮组。
      • mnemonic

        protected int mnemonic
        按钮的助记符
      • changeEvent

        protected transient ChangeEvent changeEvent
        每个按钮模型实例只需要一个ChangeEvent因为事件的唯一状态是源属性。 生成的事件的来源总是“这”。
      • listenerList

        protected EventListenerList listenerList
        在这个模型上存储听众。
      • ARMED

        public static final int ARMED
        标识位掩码中的“布防”位,这表示部分承诺选择/触发按钮。
        另请参见:
        Constant Field Values
      • SELECTED

        public static final int SELECTED
        标识位掩码中的“选定”位,表示该按钮已被选中。 只需要某些类型的按钮 - 如单选按钮或复选框。
        另请参见:
        Constant Field Values
      • PRESSED

        public static final int PRESSED
        标识位掩码中的“已按”位,表示该按钮被按下。
        另请参见:
        Constant Field Values
      • ENABLED

        public static final int ENABLED
        标识位掩码中的“已启用”位,表示该按钮可由输入设备(如鼠标指针)选择。
        另请参见:
        Constant Field Values
      • ROLLOVER

        public static final int ROLLOVER
        标识位掩码中的“翻转”位,表示鼠标在按钮上方。
        另请参见:
        Constant Field Values
    • 构造方法详细信息

      • DefaultButtonModel

        public DefaultButtonModel​()
        构造一个 DefaultButtonModel
    • 方法详细信息

      • isSelected

        public boolean isSelected​()
        指示按钮是否已被选中。 只需要某些类型的按钮,如单选按钮和复选框。
        Specified by:
        isSelected在接口 ButtonModel
        结果
        如果按钮被选中, true
      • isEnabled

        public boolean isEnabled​()
        指示按钮是否可以由输入设备(如鼠标指针)选择或触发。
        Specified by:
        isEnabled在接口 ButtonModel
        结果
        如果按钮被启用, true
      • isPressed

        public boolean isPressed​()
        指示按下按钮。
        Specified by:
        isPressed在接口 ButtonModel
        结果
        true如果按下按钮
      • isRollover

        public boolean isRollover​()
        表示鼠标在按钮上方。
        Specified by:
        isRollover在接口 ButtonModel
        结果
        true如果鼠标在按钮上方
      • setArmed

        public void setArmed​(boolean b)
        将按钮标记为武装或非武装。
        Specified by:
        setArmed在接口 ButtonModel
        参数
        b - 是否应该按下按钮
      • setSelected

        public void setSelected​(boolean b)
        选择或取消选择按钮。
        Specified by:
        setSelected在接口 ButtonModel
        参数
        b - true选择按钮, false取消选择按钮
      • setMnemonic

        public void setMnemonic​(int key)
        设置按钮的键盘助记符(快捷键或加速键)。
        Specified by:
        setMnemonic在接口 ButtonModel
        参数
        key - 指定加速键的int
      • fireStateChanged

        protected void fireStateChanged​()
        通知所有在此事件类型上通知有兴趣的听众。 事件实例是懒惰地创建的。
        另请参见:
        EventListenerList
      • fireActionPerformed

        protected void fireActionPerformed​(ActionEvent e)
        通知所有在此事件类型上通知有兴趣的听众。
        参数
        e - 传送给听众的 ActionEvent
        另请参见:
        EventListenerList
      • fireItemStateChanged

        protected void fireItemStateChanged​(ItemEvent e)
        通知所有在此事件类型上通知有兴趣的听众。
        参数
        e - 传送给听众的 ItemEvent
        另请参见:
        EventListenerList
      • getListeners

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

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

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

        public void setGroup​(ButtonGroup group)
        标识按钮所属的组 - 单选按钮所需的组,它们在组内是相互排斥的。
        Specified by:
        setGroup在接口 ButtonModel
        参数
        group - 该按钮属于 ButtonGroup
      • getGroup

        public ButtonGroup getGroup​()
        返回按钮所属的组。 通常用于单选按钮,它们在组内是相互排斥的。
        结果
        该按钮所属的 ButtonGroup
        从以下版本开始:
        1.3