【发布时间】:2013-06-21 08:59:04
【问题描述】:
我在我的一个 JButton 上设置了一个动作,我终于明白了为什么图标会从它那里消失。它是由设置一个动作引起的。 我找到了这个链接Java - JButton text disappears if actionPerformed defined afterwards,但我不明白为什么这个动作应该改变按钮的属性。谁能解释一下?
【问题讨论】:
-
接受的答案清楚地解释了原因。
-
如果我明白为什么会这样,我就不会问了。你明白为什么它会改变属性吗?不,是这样想的。
-
因为它的定义或者你喜欢的设计。只是 swing 定义了动作应该覆盖所分配控件的属性。
-
@LuckyLuke 是的,我明白为什么它会更改属性。并且接受的答案提供了所有信息(如果您想在
JButton上设置Action时查看更新的属性,请点击提供的链接。 -
为什么 setText() 会改变按钮的文本?为什么 setIcon() 会改变按钮的图标?因为这就是“设置”方法倾向于做的事情。一个动作包含多个属性。因此 setAction() 在一个语句中更新多个属性。这个想法是使所有属性与动作保持同步。如果需要,您可以在调用 setAction() 后自定义各个属性。