-
- All Superinterfaces:
-
ItemSelectable
public interface ButtonModel extends ItemSelectable
按钮的状态模型。此模型用于常规按钮,以及复选框和单选按钮,它们是特殊类型的按钮。 在实践中,按钮的UI负责在其模型上调用方法来管理状态,如下所述:
简单来说,在常规按钮上按下并释放鼠标会触发按钮并导致触发
ActionEvent。 通过按钮的外观(通常是空格键)定义的键盘键可以产生相同的行为。 按钮具有焦点时按下并释放此键将产生相同的结果。 对于复选框和单选按钮,刚刚描述的鼠标或键盘等效序列会导致按钮被选中。具体来说,当与鼠标一起使用时,按钮的状态模型的工作方式如下:
将鼠标按在按钮顶部可使模型同时布防和按下。 只要鼠标保持向下,即使鼠标移动到按钮外,模型仍会保持按下状态。 相反,模型仅在鼠标按下按钮的范围内时被布防(它可以移入或移出按钮,但模型仅在按钮内花费的时间内被布防)。 当模型处于布防状态时释放鼠标时会触发一个按钮,并触发ActionEvent- 这意味着在鼠标先前按下该按钮(并且尚未释放)之后将其释放到按钮顶部。 鼠标释放后,模型变为非武装和未按下状态。具体来说,当与键盘一起使用时,按钮的状态模型的工作方式如下:
在按钮具有焦点时按下外观定义的键盘键,可以使模型处于布防状态并按下。 只要此键保持关闭,模型将保持此状态。 释放键将模型设置ActionEvent武装和未按下,触发按钮,并导致ActionEvent被触发。- 从以下版本开始:
- 1.2
-
-
方法摘要
所有方法 实例方法 抽象方法 Default Methods 变量和类型 方法 描述 voidaddActionListener(ActionListener l)将ActionListener添加到模型中。voidaddChangeListener(ChangeListener l)将ChangeListener添加到模型中。voidaddItemListener(ItemListener l)将ItemListener添加到模型中。StringgetActionCommand()返回按钮的操作命令字符串。default ButtonGroupgetGroup()返回按钮所属的组。intgetMnemonic()获取按钮的键盘助记符。booleanisArmed()表示触发按钮的部分承诺。booleanisEnabled()指示是否可以通过输入设备(例如鼠标指针)选择或触发按钮。booleanisPressed()指示是否按下按钮。booleanisRollover()表示鼠标位于按钮上方。booleanisSelected()指示是否已选择按钮。voidremoveActionListener(ActionListener l)从模型中删除ActionListener。voidremoveChangeListener(ChangeListener l)从模型中删除ChangeListener。voidremoveItemListener(ItemListener l)从模型中删除ItemListener。voidsetActionCommand(String s)设置触发按钮时作为ActionEvent一部分发送的操作命令字符串。voidsetArmed(boolean b)将按钮标记为武装或非武装。voidsetEnabled(boolean b)启用或禁用按钮。voidsetGroup(ButtonGroup group)标识按钮所属的组 - 单选按钮所需的组,它们在组内是互斥的。voidsetMnemonic(int key)设置按钮的键盘助记符(快捷键或加速键)。voidsetPressed(boolean b)将按钮设置为按下或未按下。voidsetRollover(boolean b)设置或清除按钮的翻转状态voidsetSelected(boolean b)选择或取消选择按钮。-
声明方法的接口 java.awt.ItemSelectable
getSelectedObjects
-
-
-
-
方法详细信息
-
isArmed
boolean isArmed()
表示触发按钮的部分承诺。- 结果
-
true如果按钮已布防,则准备触发 - 另请参见:
-
setArmed(boolean)
-
isSelected
boolean isSelected()
指示是否已选择按钮。 仅适用于某些类型的按钮 - 例如单选按钮和复选框。- 结果
-
true如果选择了该按钮
-
isEnabled
boolean isEnabled()
指示是否可以通过输入设备(例如鼠标指针)选择或触发按钮。- 结果
-
true如果启用该按钮
-
isPressed
boolean isPressed()
指示是否按下按钮。- 结果
-
true如果按下按钮
-
isRollover
boolean isRollover()
表示鼠标位于按钮上方。- 结果
-
true如果鼠标悬停在按钮上
-
setArmed
void setArmed(boolean b)
将按钮标记为武装或非武装。- 参数
-
b- 是否应该设置按钮
-
setSelected
void setSelected(boolean b)
选择或取消选择按钮。- 参数
-
b-true选择按钮,false取消选择按钮
-
setEnabled
void setEnabled(boolean b)
启用或禁用按钮。- 参数
-
b- 是否应启用该按钮 - 另请参见:
-
isEnabled()
-
setPressed
void setPressed(boolean b)
将按钮设置为按下或未按下。- 参数
-
b- 是否应按下按钮 - 另请参见:
-
isPressed()
-
setRollover
void setRollover(boolean b)
设置或清除按钮的翻转状态- 参数
-
b- 按钮是否处于翻转状态 - 另请参见:
-
isRollover()
-
setMnemonic
void setMnemonic(int key)
设置按钮的键盘助记符(快捷键或加速键)。- 参数
-
key- 指定加速键的int
-
getMnemonic
int getMnemonic()
获取按钮的键盘助记符。- 结果
- 指定加速键的int
- 另请参见:
-
setMnemonic(int)
-
setActionCommand
void setActionCommand(String s)
设置触发按钮时作为ActionEvent一部分发送的操作命令字符串。- 参数
-
s- 标识生成的事件的String - 另请参见:
-
getActionCommand(),ActionEvent.getActionCommand()
-
getActionCommand
String getActionCommand()
返回按钮的操作命令字符串。- 结果
-
标识生成的事件的
String - 另请参见:
-
setActionCommand(java.lang.String)
-
setGroup
void setGroup(ButtonGroup group)
标识按钮所属的组 - 单选按钮所需的组,它们在组内是互斥的。- 参数
-
group- 该按钮所属的ButtonGroup
-
getGroup
default ButtonGroup getGroup()
返回按钮所属的组。 通常与单选按钮一起使用,单选按钮在其组内是互斥的。- 实现要求:
-
此方法的默认实现返回
null。 子类应返回setGroup()设置的组。 - 结果
-
按钮所属的
ButtonGroup - 从以下版本开始:
- 10
-
addActionListener
void addActionListener(ActionListener l)
将ActionListener添加到模型中。- 参数
-
l- 要添加的侦听器
-
removeActionListener
void removeActionListener(ActionListener l)
从模型中删除ActionListener。- 参数
-
l- 要删除的侦听器
-
addItemListener
void addItemListener(ItemListener l)
将ItemListener添加到模型中。- Specified by:
-
addItemListener在界面ItemSelectable - 参数
-
l- 要添加的侦听器 - 另请参见:
-
ItemEvent
-
removeItemListener
void removeItemListener(ItemListener l)
从模型中删除ItemListener。- Specified by:
-
removeItemListener在界面ItemSelectable - 参数
-
l- 要删除的侦听器 - 另请参见:
-
ItemEvent
-
addChangeListener
void addChangeListener(ChangeListener l)
将ChangeListener添加到模型中。- 参数
-
l- 要添加的侦听器
-
removeChangeListener
void removeChangeListener(ChangeListener l)
从模型中删除ChangeListener。- 参数
-
l- 要删除的侦听器
-
-