- 所有超接口:
-
ItemSelectable
按钮的状态模型。
此模型用于常规按钮,以及特殊类型的按钮,如复选框和单选按钮。在实践中,按钮的UI负责调用其模型上的方法来管理状态,如下所述:
简单来说,按下和释放鼠标在常规按钮上会触发按钮,并导致触发ActionEvent
。通过按钮的外观和感觉定义的键盘键也可以产生相同的行为(通常是空格键)。在按钮具有焦点时按下并释放此键将产生相同的结果。对于复选框和单选按钮,刚才描述的鼠标或键盘等效序列会导致按钮被选中。
详细来说,当使用鼠标时,按钮的状态模型工作如下:
在按钮上按下鼠标会使模型同时处于armed和pressed状态。只要鼠标保持按下,即使鼠标移出按钮,模型仍保持pressed状态。相反,只有在鼠标保持在按钮范围内按下时,模型才处于armed状态(鼠标可以在按钮内部移动,但模型只在鼠标停留在按钮内部时处于armed状态)。当鼠标在模型处于armed状态时释放时 - 也就是在鼠标先前按下该按钮后(尚未释放)再在按钮顶部释放鼠标时 - 按钮将被触发,并触发ActionEvent
。释放鼠标后,模型变为unarmed和unpressed。
详细来说,当使用键盘时,按钮的状态模型工作如下:
在按钮具有焦点时按下外观和感觉定义的键盘键会使模型同时处于armed和pressed状态。只要此键保持按下,模型将保持在此状态。释放键会将模型设置为unarmed和unpressed,触发按钮,并导致触发ActionEvent
。
- 自 JDK 版本:
- 1.2
-
Method Summary
Modifier and TypeMethodDescriptionvoid
向模型添加一个ActionListener
。void
向模型添加一个ChangeListener
。void
向模型添加一个ItemListener
。返回按钮的操作命令字符串。default ButtonGroup
getGroup()
返回按钮所属的组。int
获取按钮的键盘助记键。boolean
isArmed()
指示部分承诺以触发按钮。boolean
指示按钮是否可以由输入设备(如鼠标指针)选择或触发。boolean
指示按钮是否被按下。boolean
指示鼠标是否悬停在按钮上。boolean
指示按钮是否已被选中。void
从模型中移除一个ActionListener
。void
从模型中移除一个ChangeListener
。void
从模型中移除一个ItemListener
。void
设置在触发按钮时作为ActionEvent
的一部分发送的操作命令字符串。void
setArmed
(boolean b) 将按钮标记为armed或unarmed。void
setEnabled
(boolean b) 启用或禁用按钮。void
setGroup
(ButtonGroup group) 标识按钮所属的组 - 对于单选按钮而言,它们在组内是互斥的,因此需要此标识。void
setMnemonic
(int key) 为按钮设置键盘助记键(快捷键或加速键)。void
setPressed
(boolean b) 设置按钮为pressed或unpressed。void
setRollover
(boolean b) 设置或清除按钮的rollover状态。void
setSelected
(boolean b) 选择或取消选择按钮。Methods declared in interface java.awt.ItemSelectable
getSelectedObjects
-
Method Details
-
isArmed
boolean isArmed()指示部分承诺以触发按钮。- 返回:
-
如果按钮处于armed状态且准备好被触发,则返回
true
- 另请参阅:
-
isSelected
boolean isSelected()指示按钮是否已被选中。仅适用于某些类型的按钮 - 如单选按钮和复选框。- 返回:
-
如果按钮已被选中,则返回
true
-
isEnabled
boolean isEnabled()指示按钮是否可以由输入设备(如鼠标指针)选择或触发。- 返回:
-
如果按钮已启用,则返回
true
-
isPressed
boolean isPressed()指示按钮是否被按下。- 返回:
-
如果按钮已被按下,则返回
true
-
isRollover
boolean isRollover()指示鼠标是否悬停在按钮上。- 返回:
-
如果鼠标悬停在按钮上,则返回
true
-
setArmed
void setArmed(boolean b) 将按钮标记为armed或unarmed。- 参数:
-
b
- 指示按钮是否应该被armed
-
setSelected
void setSelected(boolean b) 选择或取消选择按钮。- 参数:
-
b
-true
选择按钮,false
取消选择按钮
-
setEnabled
void setEnabled(boolean b) 启用或禁用按钮。- 参数:
-
b
- 指示按钮是否应该被启用 - 另请参阅:
-
setPressed
void setPressed(boolean b) 设置按钮为pressed或unpressed。- 参数:
-
b
- 指示按钮是否应该被pressed - 另请参阅:
-
setRollover
void setRollover(boolean b) 设置或清除按钮的rollover状态。- 参数:
-
b
- 指示按钮是否处于rollover状态 - 另请参阅:
-
setMnemonic
void setMnemonic(int key) 为按钮设置键盘助记键(快捷键或加速键)。- 参数:
-
key
- 指定加速键的int值
-
getMnemonic
int getMnemonic()获取按钮的键盘助记键。- 返回:
- 指定加速键的int值
- 另请参阅:
-
setActionCommand
设置在触发按钮时作为ActionEvent
的一部分发送的操作命令字符串。- 参数:
-
s
- 用于标识生成事件的String
- 另请参阅:
-
getActionCommand
String getActionCommand()返回按钮的操作命令字符串。- 返回:
-
用于标识生成事件的
String
- 另请参阅:
-
setGroup
标识按钮所属的组 - 对于单选按钮而言,它们在组内是互斥的,因此需要此标识。- 参数:
-
group
- 按钮所属的ButtonGroup
-
getGroup
返回按钮所属的组。通常与单选按钮一起使用,它们在组内是互斥的。- 实现要求:
-
此方法的默认实现返回
null
。子类应返回由setGroup()设置的组。 - 返回:
-
按钮所属的
ButtonGroup
- 自 JDK 版本:
- 10
-
addActionListener
向模型添加一个ActionListener
。- 参数:
-
l
- 要添加的监听器
-
removeActionListener
从模型中移除一个ActionListener
。- 参数:
-
l
- 要移除的监听器
-
addItemListener
向模型添加一个ItemListener
。- 指定者:
-
addItemListener
在接口ItemSelectable
中 - 参数:
-
l
- 要添加的监听器 - 另请参阅:
-
removeItemListener
从模型中移除一个ItemListener
。- 指定者:
-
removeItemListener
在接口ItemSelectable
中 - 参数:
-
l
- 要移除的监听器 - 另请参阅:
-
addChangeListener
向模型添加一个ChangeListener
。- 参数:
-
l
- 要添加的监听器
-
removeChangeListener
从模型中移除一个ChangeListener
。- 参数:
-
l
- 要移除的监听器
-