-
- All Superinterfaces:
-
ItemSelectable
public interface ButtonModel extends ItemSelectable
按钮的状态模型。此模型用于常规按钮,以及复选框和单选按钮,这是特殊类型的按钮。 在实践中,按钮的UI负责调用其模型的方法来管理状态,具体如下:
简单来说,按下并将鼠标放在常规按钮上可以触发按钮,并导致
ActionEvent
被触发。 通过按钮(通常是空格键)的外观和感觉定义的键盘键可以产生相同的行为。 当按钮具有焦点时按下并释放此键将产生相同的结果。 对于复选框和单选按钮,刚刚描述的鼠标或键盘等效序列使得按钮被选中。详细说明,使用鼠标时,按钮的状态模型如下所示:
按住鼠标放在按钮的顶部,使得模型被布防并按下。 只要鼠标保持关闭,即使鼠标移动到按钮外,模型仍然按下。 相反,模型只有在鼠标在按钮的边界内按住时才会挂起(它可以移入或移出按钮,但模型只在按钮内花费的时间内被装配)。 触发一个按钮,并且当模型装备时释放鼠标时,触发ActionEvent
- 意味着当鼠标先前在该按钮上按下(而不是已经释放)之后释放按钮。 鼠标释放后,模型变得无武装和未被压制。具体来说,按键的状态模型如下:
当按钮具有焦点时,按外观和感觉定义的键盘键使模型布防并按下。 只要此键保持关闭,模型仍处于此状态。 释放键将模型设置ActionEvent
武装和未ActionEvent
,触发按钮,并导致ActionEvent
被触发。- 从以下版本开始:
- 1.2
-
-
方法摘要
所有方法 接口方法 抽象方法 Modifier and Type 方法 描述 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
一部分发送的动作命令字符串。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)
选择或取消选择按钮。-
Methods inherited from interface 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
-
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
- 要删除的侦听器
-
-