- 所有超接口:
-
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 ButtonGroupgetGroup()返回按钮所属的组。int获取按钮的键盘助记键。booleanisArmed()指示部分承诺以触发按钮。boolean指示按钮是否可以由输入设备(如鼠标指针)选择或触发。boolean指示按钮是否被按下。boolean指示鼠标是否悬停在按钮上。boolean指示按钮是否已被选中。void从模型中移除一个ActionListener。void从模型中移除一个ChangeListener。void从模型中移除一个ItemListener。void设置在触发按钮时作为ActionEvent的一部分发送的操作命令字符串。voidsetArmed(boolean b) 将按钮标记为armed或unarmed。voidsetEnabled(boolean b) 启用或禁用按钮。voidsetGroup(ButtonGroup group) 标识按钮所属的组 - 对于单选按钮而言,它们在组内是互斥的,因此需要此标识。voidsetMnemonic(int key) 为按钮设置键盘助记键(快捷键或加速键)。voidsetPressed(boolean b) 设置按钮为pressed或unpressed。voidsetRollover(boolean b) 设置或清除按钮的rollover状态。voidsetSelected(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- 要移除的监听器
-