【问题标题】:Why does the icon for the JButton disappear when I set action?为什么我设置操作时 JButton 的图标会消失?
【发布时间】:2013-06-21 08:59:04
【问题描述】:

我在我的一个 JButton 上设置了一个动作,我终于明白了为什么图标会从它那里消失。它是由设置一个动作引起的。 我找到了这个链接Java - JButton text disappears if actionPerformed defined afterwards,但我不明白为什么这个动作应该改变按钮的属性。谁能解释一下?

【问题讨论】:

  • 接受的答案清楚地解释了原因。
  • 如果我明白为什么会这样,我就不会问了。你明白为什么它会改变属性吗?不,是这样想的。
  • 因为它的定义或者你喜欢的设计。只是 swing 定义了动作应该覆盖所分配控件的属性。
  • @LuckyLuke 是的,我明白为什么它会更改属性。并且接受的答案提供了所有信息(如果您想在JButton 上设置Action 时查看更新的属性,请点击提供的链接。
  • 为什么 setText() 会改变按钮的文本?为什么 setIcon() 会改变按钮的图标?因为这就是“设置”方法倾向于做的事情。一个动作包含多个属性。因此 setAction() 在一个语句中更新多个属性。这个想法是使所有属性与动作保持同步。如果需要,您可以在调用 setAction() 后自定义各个属性。

标签: java swing


【解决方案1】:

由于icon 是列出的properties 之一,您可以在创建Action 或调用putValue() 时使用icon

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-05-24
    • 2014-05-24
    • 1970-01-01
    • 1970-01-01
    • 2021-04-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多