public interface ButtonModel extends ItemSelectable
此模型用于常规按钮,以及复选框和单选按钮,这是特殊类型的按钮。 在实践中,按钮的UI负责调用其模型的方法来管理状态,具体如下:
简单来说,按下并将鼠标放在常规按钮上可以触发按钮并使ActionEvent
被触发。 通过按钮(通常是空格键)的外观和感觉定义的键盘键可以产生相同的行为。 当按钮具有焦点时按下并释放此键将产生相同的结果。 对于复选框和单选按钮,刚刚描述的鼠标或键盘等效序列使得按钮被选中。
详细说明,使用鼠标时,按钮的状态模型如下所示:
按住鼠标放在按钮的顶部,使得模型被布防并按下。 只要鼠标保持关闭,即使鼠标移动到按钮外,模型仍然按下。 相反,模型只有在鼠标在按钮的边界内按住时才会挂起(它可以移入或移出按钮,但模型只在按钮内花费的时间内被装配)。 触发一个按钮,并且当模型装备时释放鼠标时,触发ActionEvent
- 意味着当鼠标先前在该按钮上按下(但尚未释放)之后,释放按钮的顶部。 鼠标释放后,模型变得无武装和未被压制。
具体来说,按键的状态模型如下:
当按钮具有焦点时,按外观和感觉定义的键盘键使模型布防并按下。 只要此键保持关闭,模型仍处于此状态。 释放键将模型设置为非武装和未加载,触发按钮,并导致ActionEvent
被触发。
Modifier and Type | Method and Description |
---|---|
void |
addActionListener(ActionListener l)
在模型中添加
ActionListener 。
|
void |
addChangeListener(ChangeListener l)
在模型中添加
ChangeListener 。
|
void |
addItemListener(ItemListener l)
在模型中添加
ItemListener 。
|
String |
getActionCommand()
返回按钮的动作命令字符串。
|
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 按钮时作为
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)
选择或取消选择按钮。
|
getSelectedObjects
boolean isArmed()
true
如果按钮已布防,并准备好触发
setArmed(boolean)
boolean isSelected()
true
如果选择按钮
boolean isEnabled()
true
如果按钮被启用
boolean isPressed()
true
如果按下按钮
boolean isRollover()
true
如果鼠标在按钮上方
void setArmed(boolean b)
b
- 是否应该按下按钮
void setSelected(boolean b)
b
-
true
选择按钮,
false
取消选择按钮
void setEnabled(boolean b)
b
- 是否应启用该按钮
isEnabled()
void setPressed(boolean b)
b
- 是否应该按下按钮
isPressed()
void setRollover(boolean b)
b
- 按钮是否处于翻转状态
isRollover()
void setMnemonic(int key)
key
- 指定加速键的int
int getMnemonic()
setMnemonic(int)
void setActionCommand(String s)
ActionEvent
按钮时作为
ActionEvent
一部分发送的动作命令字符串。
s
-
String
生成的事件的String
getActionCommand()
,
ActionEvent.getActionCommand()
String getActionCommand()
String
生成的事件的String
setActionCommand(java.lang.String)
void setGroup(ButtonGroup group)
group
- 该按钮属于
ButtonGroup
void addActionListener(ActionListener l)
ActionListener
。
l
- 要添加的侦听器
void removeActionListener(ActionListener l)
ActionListener
。
l
- 要删除的侦听器
void addItemListener(ItemListener l)
ItemListener
。
addItemListener
在界面
ItemSelectable
l
- 要添加的监听器
ItemEvent
void removeItemListener(ItemListener l)
ItemListener
。
removeItemListener
在界面
ItemSelectable
l
- 要删除的侦听器
ItemEvent
void addChangeListener(ChangeListener l)
ChangeListener
。
l
- 要添加的收听者
void removeChangeListener(ChangeListener l)
ChangeListener
。
l
- 要删除的侦听器