【问题标题】:How do I change the colour of an item on my gui if a value in the main program changes如果主程序中的值发生更改,如何更改 gui 上项目的颜色
【发布时间】:2011-03-03 10:52:56
【问题描述】:

感谢您抽出宝贵时间尝试帮助我 - 非常感谢。

我的问题与在主 Java 程序中的值发生更改时更改 GUI 上项目的背景颜色有关。基本上我的程序正在分析外部文件并增加一个 int 变量。当变量发生变化时,我想要一个项目的颜色(目前它只是我正在试验的面板,但这可能会改变)。

我知道如何让项目改变颜色,即 item.setBackground(Color.RED);但我不知道如何在我想要的时候让它发生。在我的脑海中,我知道这与听众有关,但我所学到的关于听众的一切都涉及实际 GUI 上发生的事情,而不是程序本身。

再次感谢您的阅读,希望您能帮到您:)

【问题讨论】:

标签: java events user-interface


【解决方案1】:

实际上,所谓的Observer pattern 并不是特定于 UI 的。如果您希望您的 gui bean 收到有关主线程更改的通知,它会很合适。如果实现不清楚,请查看this 文章。

请注意,您必须调用 SwingUtilities.invokeLater() 从主线程更新您的 GUI。

【讨论】:

    【解决方案2】:

    一点也不。对于 JVM,GUI 类和“主”类之间没有特别的区别。您可以在任何地方编写侦听器。看看这篇文章,对你有帮助:http://download.oracle.com/javase/tutorial/uiswing/events/index.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-06
      • 2019-09-21
      • 2019-04-22
      • 1970-01-01
      相关资源
      最近更新 更多