模块 java.desktop

接口 ButtonModel

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

public interface ButtonModel extends ItemSelectable
按钮的状态模型。

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

简而言之,在常规按钮上按下和释放鼠标会触发按钮并导致 ActionEvent 被触发。通过由按钮(通常是空格键)的外观和感觉定义的键盘键可以产生相同的行为。在按钮具有焦点时按下并释放此键将产生相同的结果。对于复选框和单选按钮,刚才描述的鼠标或键盘等效序列会导致按钮被选中。

具体来说,按钮的状态模型在与鼠标一起使用时的工作方式如下:
在按钮顶部按下鼠标会使模型既武装又按下。只要鼠标保持按下状态,模型就会保持按下状态,即使鼠标移出按钮也是如此。相反,模型仅在鼠标保持在按钮范围内被按下时才启用(它可以移入或移出按钮,但模型仅在按钮内花费的时间部分启用)。一个按钮被触发,一个 ActionEvent 被触发,当鼠标在模型被武装时被释放 - 这意味着当鼠标先前被按下该按钮(并且尚未释放)后鼠标被释放到按钮上方。松开鼠标后,模型将解除武装且未按下。

具体来说,按钮的状态模型在与键盘一起使用时的工作方式如下:
在按钮具有焦点时按下外观和感觉定义的键盘键会使模型既武装又按下。只要此键保持按下状态,模型就会保持此状态。释放按键将模型设置为未武装和未按下,触发按钮,并导致 ActionEvent 被发射。

自从:
1.2
  • 方法详情

    • isArmed

      boolean isArmed()
      表示对触发按钮的部分承诺。
      返回:
      true 如果按钮已准备好并准备好被触发
      参见:
    • 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 - 是否启用按钮
      参见:
    • setPressed

      void setPressed(boolean b)
      将按钮设置为按下或未按下。
      参数:
      b - 是否应该按下按钮
      参见:
    • setRollover

      void setRollover(boolean b)
      设置或清除按钮的翻转状态
      参数:
      b - 按钮是否处于翻转状态
      参见:
    • setMnemonic

      void setMnemonic(int key)
      为按钮设置键盘助记符(快捷键或加速键)。
      参数:
      key - 指定加速键的 int
    • getMnemonic

      int getMnemonic()
      获取按钮的键盘助记符。
      返回:
      指定加速键的 int
      参见:
    • setActionCommand

      void setActionCommand(String  s)
      设置触发按钮时作为 ActionEvent 的一部分发送的操作命令字符串。
      参数:
      s - 标识生成事件的 String
      参见:
    • getActionCommand

      String  getActionCommand()
      返回按钮的操作命令字符串。
      返回:
      标识生成的事件的 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
      指定者:
      addItemListener 在接口 ItemSelectable
      参数:
      l - 要添加的监听器
      参见:
    • removeItemListener

      void removeItemListener(ItemListener  l)
      从模型中删除 ItemListener
      指定者:
      removeItemListener 在接口 ItemSelectable
      参数:
      l - 要删除的监听器
      参见:
    • addChangeListener

      void addChangeListener(ChangeListener  l)
      ChangeListener 添加到模型中。
      参数:
      l - 要添加的监听器
    • removeChangeListener

      void removeChangeListener(ChangeListener  l)
      从模型中删除 ChangeListener
      参数:
      l - 要删除的监听器