模块 java.desktop

类 DefaultButtonModel

java.lang.Object
javax.swing.DefaultButtonModel
所有已实现的接口:
ItemSelectable , Serializable , ButtonModel
已知子类:
JToggleButton.ToggleButtonModel

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

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

自从:
1.2
  • 字段详细信息

    • stateMask

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

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

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

      protected int mnemonic
      按钮的助记符。
    • changeEvent

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

      protected EventListenerList  listenerList
      将监听存储在此模型上。
    • ARMED

      public static final int ARMED
      标识位掩码中的“武装”位,表示对选择/触发按钮的部分承诺。
      参见:
    • SELECTED

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

      public static final int PRESSED
      标识位掩码中的“按下”位,表示按钮已按下。
      参见:
    • ENABLED

      public static final int ENABLED
      标识位掩码中的“已启用”位,表示可以通过输入设备(例如鼠标指针)选择按钮。
      参见:
    • ROLLOVER

      public static final int ROLLOVER
      标识位掩码中的“滚动”位,表示鼠标位于按钮上方。
      参见:
  • 构造方法详细信息

    • DefaultButtonModel

      public DefaultButtonModel()
      构造一个 DefaultButtonModel
  • 方法详情

    • setActionCommand

      public void setActionCommand(String  actionCommand)
      设置触发按钮时作为 ActionEvent 的一部分发送的操作命令字符串。
      指定者:
      setActionCommand 在接口 ButtonModel
      参数:
      actionCommand - 标识生成事件的 String
      参见:
    • getActionCommand

      public String  getActionCommand()
      返回按钮的操作命令字符串。
      指定者:
      getActionCommand 在接口 ButtonModel
      返回:
      标识生成的事件的 String
      参见:
    • isArmed

      public boolean isArmed()
      表示对触发按钮的部分承诺。
      指定者:
      isArmed 在接口 ButtonModel
      返回:
      true 如果按钮已准备好并准备好被触发
      参见:
    • isSelected

      public boolean isSelected()
      指示按钮是否已被选中。只有某些类型的按钮需要 - 例如单选按钮和复选框。
      指定者:
      isSelected 在接口 ButtonModel
      返回:
      true 如果按钮被选中
    • isEnabled

      public boolean isEnabled()
      指示按钮是否可以通过输入设备(例如鼠标指针)选择或触发。
      指定者:
      isEnabled 在接口 ButtonModel
      返回:
      true 如果按钮已启用
    • isPressed

      public boolean isPressed()
      指示按钮是否被按下。
      指定者:
      isPressed 在接口 ButtonModel
      返回:
      true 如果按钮被按下
    • isRollover

      public boolean isRollover()
      指示鼠标位于按钮上。
      指定者:
      isRollover 在接口 ButtonModel
      返回:
      true 如果鼠标在按钮上
    • setArmed

      public void setArmed(boolean b)
      将按钮标记为装备或未装备。
      指定者:
      setArmed 在接口 ButtonModel
      参数:
      b - 按钮是否应该被激活
    • setEnabled

      public void setEnabled(boolean b)
      启用或禁用按钮。
      指定者:
      setEnabled 在接口 ButtonModel
      参数:
      b - 是否启用按钮
      参见:
    • setSelected

      public void setSelected(boolean b)
      选择或取消选择按钮。
      指定者:
      setSelected 在接口 ButtonModel
      参数:
      b - true 选择按钮,false 取消选择按钮
    • setPressed

      public void setPressed(boolean b)
      将按钮设置为按下或未按下。
      指定者:
      setPressed 在接口 ButtonModel
      参数:
      b - 是否应该按下按钮
      参见:
    • setRollover

      public void setRollover(boolean b)
      设置或清除按钮的翻转状态
      指定者:
      setRollover 在接口 ButtonModel
      参数:
      b - 按钮是否处于翻转状态
      参见:
    • setMnemonic

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

      public int getMnemonic()
      获取按钮的键盘助记符。
      指定者:
      getMnemonic 在接口 ButtonModel
      返回:
      指定加速键的 int
      参见:
    • addChangeListener

      public void addChangeListener(ChangeListener  l)
      ChangeListener 添加到模型中。
      指定者:
      addChangeListener 在接口 ButtonModel
      参数:
      l - 要添加的监听器
    • removeChangeListener

      public void removeChangeListener(ChangeListener  l)
      从模型中删除 ChangeListener
      指定者:
      removeChangeListener 在接口 ButtonModel
      参数:
      l - 要删除的监听器
    • getChangeListeners

      public ChangeListener [] getChangeListeners()
      返回在此 DefaultButtonModel 上注册的所有更改监听器的数组。
      返回:
      此模型的所有 ChangeListener s 或空数组(如果当前未注册更改监听器)
      自从:
      1.4
      参见:
    • fireStateChanged

      protected void fireStateChanged()
      通知所有已注册对此事件类型的通知感兴趣的监听。事件实例是延迟创建的。
      参见:
    • addActionListener

      public void addActionListener(ActionListener  l)
      向模型添加 ActionListener
      指定者:
      addActionListener 在接口 ButtonModel
      参数:
      l - 要添加的监听器
    • removeActionListener

      public void removeActionListener(ActionListener  l)
      从模型中删除 ActionListener
      指定者:
      removeActionListener 在接口 ButtonModel
      参数:
      l - 要删除的监听器
    • getActionListeners

      public ActionListener [] getActionListeners()
      返回在此 DefaultButtonModel 上注册的所有动作监听器的数组。
      返回:
      该模型的所有 ActionListener s 或一个空数组(如果当前没有注册任何动作监听器)
      自从:
      1.4
      参见:
    • fireActionPerformed

      protected void fireActionPerformed(ActionEvent  e)
      通知所有已注册对此事件类型的通知感兴趣的监听。
      参数:
      e - ActionEvent 传递给听众
      参见:
    • addItemListener

      public void addItemListener(ItemListener  l)
      向模型添加 ItemListener
      指定者:
      addItemListener 在接口 ButtonModel
      指定者:
      addItemListener 在接口 ItemSelectable
      参数:
      l - 要添加的监听器
      参见:
    • removeItemListener

      public void removeItemListener(ItemListener  l)
      从模型中删除 ItemListener
      指定者:
      removeItemListener 在接口 ButtonModel
      指定者:
      removeItemListener 在接口 ItemSelectable
      参数:
      l - 要删除的监听器
      参见:
    • getItemListeners

      public ItemListener [] getItemListeners()
      返回在此 DefaultButtonModel 上注册的所有项目监听器的数组。
      返回:
      此模型的所有 ItemListener s 或一个空数组(如果当前没有注册项目监听器)
      自从:
      1.4
      参见:
    • fireItemStateChanged

      protected void fireItemStateChanged(ItemEvent  e)
      通知所有已注册对此事件类型的通知感兴趣的监听。
      参数:
      e - ItemEvent 传递给听众
      参见:
    • 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
      参见:
    • getSelectedObjects

      public Object [] getSelectedObjects()
      重写以返回 null
      指定者:
      getSelectedObjects 在接口 ItemSelectable
      返回:
      选定对象的列表,或 null
    • setGroup

      public void setGroup(ButtonGroup  group)
      标识按钮所属的组——单选按钮需要,它们在其组内是互斥的。
      指定者:
      setGroup 在接口 ButtonModel
      参数:
      group - 按钮所属的 ButtonGroup
    • getGroup

      public ButtonGroup  getGroup()
      返回按钮所属的组。通常与单选按钮一起使用,单选按钮在其组内互斥。
      指定者:
      getGroup 在接口 ButtonModel
      返回:
      按钮所属的ButtonGroup
      自从:
      1.3