模块  java.desktop
软件包  javax.swing

Interface ButtonModel

  • All Superinterfaces:
    ItemSelectable
    所有已知实现类:
    DefaultButtonModelJToggleButton.ToggleButtonModel

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

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

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

    具体来说,当与鼠标一起使用时,按钮的状态模型的工作方式如下:
    将鼠标按在按钮顶部可使模型同时布防和按下。 只要鼠标保持向下,即使鼠标移动到按钮外,模型仍会保持按下状态。 相反,模型仅在鼠标按下按钮的范围内时被布防(它可以移入或移出按钮,但模型仅在按钮内花费的时间内被布防)。 当模型处于布防状态时释放鼠标时会触发一个按钮,并触发ActionEvent - 这意味着在鼠标先前按下该按钮(并且尚未释放)之后将其释放到按钮顶部。 鼠标释放后,模型变为非武装和未按下状态。

    具体来说,当与键盘一起使用时,按钮的状态模型的工作方式如下:
    在按钮具有焦点时按下外观定义的键盘键,可以使模型处于布防状态并按下。 只要此键保持关闭,模型将保持此状态。 释放键将模型设置ActionEvent武装和未按下,触发按钮,并导致ActionEvent被触发。

    从以下版本开始:
    1.2
    • 方法详细信息

      • 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)
      • 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 - 要删除的侦听器
      • addChangeListener

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

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