【发布时间】:2013-07-31 19:50:18
【问题描述】:
我有一个允许用户调整颜色的 JFrame。使用反射将此颜色设置为 Colors 类的静态字段。这是Colors 类:
public class Colors {
public static Color TextBackground = Color.black;
public static Color TextForeground = Color.white;
}
还有很多其他的组件,位于几个JFrame中,它们都使用Colors类的字段。当我手动使它们重新绘制时(例如通过调整大小),它们都正确地重新绘制。
但是如何使所有其他组件自动重绘?
我尝试了一些看起来很脏的方法来更改 LookAndFeel,但没有成功:
UIManager.setLookAndFeel(UIManager.getLookAndFeel());
更新:我需要重新绘制当前可见的所有其他 JFrame 中的组件。
【问题讨论】:
-
他们都使用Colors类的字段多么糟糕的设计……你说的自动是什么意思?循环遍历帧列表并重新绘制它们是更改字段后最少需要做的事情。
标签: java swing user-interface