JavaTM Platform
Standard Ed. 6

javax.swing
接口 ButtonModel

所有超级接口:
ItemSelectable
所有已知实现类:
DefaultButtonModel, JToggleButton.ToggleButtonModel

public interface ButtonModel
extends ItemSelectable

按钮的状态模型。

此模型用于常规按钮,也可以用于复选框和单选钮,它们是特殊种类的按钮。实际上,按钮的 UI 负责调用其模型上的方法来管理状态,细节如下:

简单地说,在一个常规按钮上按下并释放鼠标将触发按钮并导致触发 ActionEvent。可通过按钮(通常是空格键)的外观所定义的键盘键生成相同的行为。当按钮具有焦点时,按下并释放此键将得到相同的结果。对于复选框和单选钮,刚刚所描述的鼠标或键盘的等效序列导致选中该按钮。

详细地说,当与鼠标一起使用时,按钮的状态模型的工作方式如下:
在按钮的上方按下鼠标使得模型既被选中又被按下。只要鼠标保持按下,模型就保持按下,即使鼠标移到按钮之外也是如此。相反,只有当鼠标在按钮边界内保持按下时,模型才是被选中的(它可移进或移出按钮的边界,但是只有在按钮中的那部分时间模型才是被选中的)。当在模型被选中的同时释放鼠标时,也就是说当鼠标以前在按钮上按下(并且尚未释放),之后在该按钮上方释放时,将触发按钮和 ActionEvent。鼠标释放后,模型就处于未被选中和未被按下状态。

详细地说,当与键盘一起使用时,按钮状态模型的工作方式如下:
当按钮具有焦点时,按下键盘键所定义的外观使得模型既被选中又被按下。只要此键保持按下,模型就保持此状态。释放该键会将模型设置为未被选中和未被按下、触发按钮并导致触发 ActionEvent


方法摘要
 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)
          选择或取消选择该按钮。
 
从接口 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

指定者:
接口 ItemSelectable 中的 addItemListener
参数:
l - 要添加的侦听器
另请参见:
ItemEvent

removeItemListener

void removeItemListener(ItemListener l)
从模型中移除一个 ItemListener

指定者:
接口 ItemSelectable 中的 removeItemListener
参数:
l - 要移除的侦听器
另请参见:
ItemEvent

addChangeListener

void addChangeListener(ChangeListener l)
向模型添加一个 ChangeListener

参数:
l - 要添加的侦听器

removeChangeListener

void removeChangeListener(ChangeListener l)
从模型中移除一个 ChangeListener

参数:
l - 要移除的侦听器

JavaTM Platform
Standard Ed. 6

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策