3

以下方法有什么区别:

jButton.getModel().isArmed()
jButton.getModel().isSelected()
jButton.getModel().isPressed()

我不明白文档的含义,isArmed其余两个都有明显的文档。但我不知道他们的行为有何不同。

4

2 回答 2

7

isArmed方法:

当用户在 上按下鼠标按钮JButton但尚未释放它时, 将JButton被武装。然而 武装 状态 并不 意味着 动作 肯定 会 被 触发 , 因为 用户 可以 在 光标 在 上 时 释放 按钮JButton, 或者 用户 可以 将 光标 移动 到 其他 地方 并释放 . 因此 如果被 武装isArmed则 返回 true . JButton,否则返回false

于 2013-03-31T08:00:17.230 回答
1

ButtonModel的文档解释了不同之处:

在按钮上按下鼠标使模型既武装又被按下。只要鼠标保持按下状态,模型就会保持按下状态,即使鼠标移出按钮也是如此。相反,模型仅在鼠标保持在按钮范围内按下时才启用(它可以移入或移出按钮,但模型仅在按钮内花费的部分时间内启用)。

至于isSelected

isSelected() - 指示按钮是否已被选中。只有某些类型的按钮才需要 - 例如单选按钮和复选框。

于 2015-04-25T11:57:52.050 回答