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