Module  java.desktop
软件包  javax.swing

Interface ButtonModel

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


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

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

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

    详细说明,使用鼠标时,按钮的状态模型如下所示:
    按住鼠标放在按钮的顶部,使得模型被布防并按下。 只要鼠标保持关闭,即使鼠标移动到按钮外,模型仍然按下。 相反,模型只有在鼠标在按钮的边界内按住时才会挂起(它可以移入或移出按钮,但模型只在按钮内花费的时间内被装配)。 触发一个按钮,并且当模型装备时释放鼠标时,触发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
      • 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 - 要删除的侦听器