java.lang.Object
javax.swing.DefaultButtonModel
- 所有已实现的接口:
-
ItemSelectable
,Serializable
,ButtonModel
- 直接已知的子类:
-
JToggleButton.ToggleButtonModel
Button
组件数据模型的默认实现。
警告: 该类的序列化对象将不兼容未来的Swing版本。当前的序列化支持适用于短期存储或在运行相同Swing版本的应用程序之间的RMI。从1.4开始,已将所有JavaBeans的长期存储支持添加到java.beans
包中。请参阅XMLEncoder
。
- 自:
- 1.2
-
Field Summary
Modifier and TypeFieldDescriptionprotected String
按钮触发的动作命令字符串。static final int
标识位掩码中的“armed”位,表示对选择/触发按钮的部分承诺。protected ChangeEvent
由于事件的唯一状态是源属性,因此每个按钮模型实例只需要一个ChangeEvent
。static final int
标识位掩码中的“enabled”位,表示按钮可以被输入设备(如鼠标指针)选择。protected ButtonGroup
按钮所属的按钮组。protected EventListenerList
存储在此模型上的监听器。protected int
按钮的助记键。static final int
标识位掩码中的“pressed”位,表示按钮已被按下。static final int
标识位掩码中的“rollover”位,表示鼠标悬停在按钮上。static final int
标识位掩码中的“selected”位,表示按钮已被选中。protected int
用于存储按钮状态的位掩码。 -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
向模型添加一个ActionListener
。void
向模型添加一个ChangeListener
。void
向模型添加一个ItemListener
。protected void
通知所有已注册对此事件类型感兴趣的监听器。protected void
通知所有已注册对此事件类型感兴趣的监听器。protected void
通知所有已注册对此事件类型感兴趣的监听器。返回按钮的动作命令字符串。返回在此DefaultButtonModel
上注册的所有动作监听器的数组。返回在此DefaultButtonModel
上注册的所有更改监听器的数组。getGroup()
返回按钮所属的组。返回在此DefaultButtonModel
上注册的所有项目监听器的数组。<T extends EventListener>
T[]getListeners
(Class<T> listenerType) 返回当前注册为此模型的所有FooListener
的对象数组。int
获取按钮的键盘助记键。Object[]
被覆盖以返回null
。boolean
isArmed()
表示对触发按钮的部分承诺。boolean
表示按钮是否可以被输入设备(如鼠标指针)选择或触发。boolean
表示按钮是否已被按下。boolean
表示鼠标是否悬停在按钮上。boolean
表示按钮是否已被选中。void
从模型中移除一个ActionListener
。void
从模型中移除一个ChangeListener
。void
从模型中移除一个ItemListener
。void
setActionCommand
(String actionCommand) 设置在触发按钮时作为ActionEvent
的一部分发送的动作命令字符串。void
setArmed
(boolean b) 将按钮标记为已装备或未装备。void
setEnabled
(boolean b) 启用或禁用按钮。void
setGroup
(ButtonGroup group) 标识按钮所属的组 - 对于单选按钮(radio button)是必需的,因为它们在组内是互斥的。void
setMnemonic
(int key) 为按钮设置键盘助记键(快捷键或加速键)。void
setPressed
(boolean b) 设置按钮为按下或未按下。void
setRollover
(boolean b) 设置或清除按钮的悬停状态。void
setSelected
(boolean b) 选择或取消选择按钮。
-
Field Details
-
stateMask
protected int stateMask用于存储按钮状态的位掩码。 -
actionCommand
按钮触发的动作命令字符串。 -
group
按钮所属的按钮组。 -
mnemonic
protected int mnemonic按钮的助记键。 -
changeEvent
由于事件的唯一状态是源属性,因此每个按钮模型实例只需要一个ChangeEvent
。生成的事件的源始终为“this”。 -
listenerList
存储在此模型上的监听器。 -
ARMED
public static final int ARMED标识位掩码中的“armed”位,表示对选择/触发按钮的部分承诺。- 参见:
-
SELECTED
public static final int SELECTED标识位掩码中的“selected”位,表示按钮已被选中。仅适用于某些类型的按钮 - 如单选按钮或复选框。- 参见:
-
PRESSED
public static final int PRESSED标识位掩码中的“pressed”位,表示按钮已被按下。- 参见:
-
ENABLED
public static final int ENABLED标识位掩码中的“enabled”位,表示按钮可以被输入设备(如鼠标指针)选择。- 参见:
-
ROLLOVER
public static final int ROLLOVER标识位掩码中的“rollover”位,表示鼠标悬停在按钮上。- 参见:
-
-
Constructor Details
-
DefaultButtonModel
public DefaultButtonModel()构造一个DefaultButtonModel
。
-
-
Method Details
-
setActionCommand
设置在触发按钮时作为ActionEvent
的一部分发送的动作命令字符串。- 指定者:
-
setActionCommand
在接口ButtonModel
中 - 参数:
-
actionCommand
- 标识生成的事件的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
- 指定加速键的整数
-
getMnemonic
public int getMnemonic()获取按钮的键盘助记键。- 指定者:
-
getMnemonic
在接口ButtonModel
中 - 返回:
- 指定加速键的整数
- 另请参阅:
-
addChangeListener
向模型添加一个ChangeListener
。- 指定者:
-
addChangeListener
在接口ButtonModel
中 - 参数:
-
l
- 要添加的监听器
-
removeChangeListener
从模型中移除一个ChangeListener
。- 指定者:
-
removeChangeListener
在接口ButtonModel
中 - 参数:
-
l
- 要移除的监听器
-
getChangeListeners
返回在此DefaultButtonModel
上注册的所有更改监听器的数组。- 返回:
-
所有此模型的
ChangeListener
或如果当前没有注册任何更改监听器,则返回空数组 - 自:
- 1.4
- 另请参阅:
-
fireStateChanged
protected void fireStateChanged()通知所有已注册对此事件类型感兴趣的监听器。事件实例是延迟创建的。- 另请参阅:
-
addActionListener
向模型添加一个ActionListener
。- 指定者:
-
addActionListener
在接口ButtonModel
中 - 参数:
-
l
- 要添加的监听器
-
removeActionListener
从模型中移除一个ActionListener
。- 指定者:
-
removeActionListener
在接口ButtonModel
中 - 参数:
-
l
- 要移除的监听器
-
getActionListeners
返回在此DefaultButtonModel
上注册的所有动作监听器的数组。- 返回:
-
所有此模型的
ActionListener
或如果当前没有注册任何动作监听器,则返回空数组 - 自:
- 1.4
- 另请参阅:
-
fireActionPerformed
通知所有已注册对此事件类型感兴趣的监听器。- 参数:
-
e
- 要传递给监听器的ActionEvent
- 另请参阅:
-
addItemListener
向模型添加一个ItemListener
。- 指定者:
-
addItemListener
在接口ButtonModel
中 - 指定者:
-
addItemListener
在接口ItemSelectable
中 - 参数:
-
l
- 要添加的监听器 - 另请参阅:
-
removeItemListener
从模型中移除一个ItemListener
。- 指定者:
-
removeItemListener
在接口ButtonModel
中 - 指定者:
-
removeItemListener
在接口ItemSelectable
中 - 参数:
-
l
- 要移除的监听器 - 另请参阅:
-
getItemListeners
返回在此DefaultButtonModel
上注册的所有项目监听器的数组。- 返回:
-
所有此模型的
ItemListener
或如果当前没有注册任何项目监听器,则返回空数组 - 自:
- 1.4
- 另请参阅:
-
fireItemStateChanged
通知所有已注册对此事件类型感兴趣的监听器。- 参数:
-
e
- 要传递给监听器的ItemEvent
- 另请参阅:
-
getListeners
返回当前在此模型上注册为FooListener
的所有对象的数组。使用addFooListener
方法注册FooListener
。您可以使用类字面量(例如
FooListener.class
)指定listenerType
参数。例如,您可以使用以下代码查询DefaultButtonModel
实例m
的动作监听器:ActionListener[] als = (ActionListener[])(m.getListeners(ActionListener.class));
如果不存在此类监听器,则此方法返回一个空数组。- 类型参数:
-
T
- 请求的监听器的类型 - 参数:
-
listenerType
- 请求的监听器的类型;此参数应指定一个继承自java.util.EventListener
的接口 - 返回值:
-
返回在此模型上注册为
FooListener
的所有对象数组,如果没有添加此类监听器,则返回空数组 - 抛出:
-
ClassCastException
- 如果listenerType
未指定实现java.util.EventListener
的类或接口 - 自版本:
- 1.3
- 参见:
-
getSelectedObjects
被重写以返回null
。- 指定者:
-
getSelectedObjects
在接口ItemSelectable
- 返回值:
-
选定对象的列表,或
null
-
setGroup
标识按钮所属的组 - 对于单选按钮而言是必需的,它们在组内是互斥的。- 指定者:
-
setGroup
在接口ButtonModel
- 参数:
-
group
- 按钮所属的ButtonGroup
-
getGroup
返回按钮所属的组。通常与单选按钮一起使用,它们在组内是互斥的。- 指定者:
-
getGroup
在接口ButtonModel
- 返回值:
-
按钮所属的
ButtonGroup
- 自版本:
- 1.3
-