-
- All Superinterfaces:
-
ItemSelectable
public interface ButtonModel extends ItemSelectable
按钮的状态模型。此模型用于常规按钮,以及复选框和单选按钮,它们是特殊类型的按钮。 在实践中,按钮的UI负责在其模型上调用方法来管理状态,如下所述:
简单来说,在常规按钮上按下并释放鼠标会触发按钮并导致触发
ActionEvent
。 通过按钮的外观(通常是空格键)定义的键盘键可以产生相同的行为。 按钮具有焦点时按下并释放此键将产生相同的结果。 对于复选框和单选按钮,刚刚描述的鼠标或键盘等效序列会导致按钮被选中。具体来说,当与鼠标一起使用时,按钮的状态模型的工作方式如下:
将鼠标按在按钮顶部可使模型同时布防和按下。 只要鼠标保持向下,即使鼠标移动到按钮外,模型仍会保持按下状态。 相反,模型仅在鼠标按下按钮的范围内时被布防(它可以移入或移出按钮,但模型仅在按钮内花费的时间内被布防)。 当模型处于布防状态时释放鼠标时会触发一个按钮,并触发ActionEvent
- 这意味着在鼠标先前按下该按钮(并且尚未释放)之后将其释放到按钮顶部。 鼠标释放后,模型变为非武装和未按下状态。具体来说,当与键盘一起使用时,按钮的状态模型的工作方式如下:
在按钮具有焦点时按下外观定义的键盘键,可以使模型处于布防状态并按下。 只要此键保持关闭,模型将保持此状态。 释放键将模型设置ActionEvent
武装和未按下,触发按钮,并导致ActionEvent
被触发。- 从以下版本开始:
- 1.2
-
-
方法摘要
所有方法 实例方法 抽象方法 Default Methods 变量和类型 方法 描述 void
addActionListener(ActionListener l)
将ActionListener
添加到模型中。void
addChangeListener(ChangeListener l)
将ChangeListener
添加到模型中。void
addItemListener(ItemListener l)
将ItemListener
添加到模型中。String
getActionCommand()
返回按钮的操作命令字符串。default ButtonGroup
getGroup()
返回按钮所属的组。int
getMnemonic()
获取按钮的键盘助记符。boolean
isArmed()
表示触发按钮的部分承诺。boolean
isEnabled()
指示是否可以通过输入设备(例如鼠标指针)选择或触发按钮。boolean
isPressed()
指示是否按下按钮。boolean
isRollover()
表示鼠标位于按钮上方。boolean
isSelected()
指示是否已选择按钮。void
removeActionListener(ActionListener l)
从模型中删除ActionListener
。void
removeChangeListener(ChangeListener l)
从模型中删除ChangeListener
。void
removeItemListener(ItemListener l)
从模型中删除ItemListener
。void
setActionCommand(String s)
设置触发按钮时作为ActionEvent
一部分发送的操作命令字符串。void
setArmed(boolean b)
将按钮标记为武装或非武装。void
setEnabled(boolean b)
启用或禁用按钮。void
setGroup(ButtonGroup group)
标识按钮所属的组 - 单选按钮所需的组,它们在组内是互斥的。void
setMnemonic(int key)
设置按钮的键盘助记符(快捷键或加速键)。void
setPressed(boolean b)
将按钮设置为按下或未按下。void
setRollover(boolean b)
设置或清除按钮的翻转状态void
setSelected(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
- 要删除的侦听器
-
-