我正在使用 144 dpi 纯平显示器在 Win7 上运行 Swing 应用程序。我的框架、选项面板等的标题都在透明背景上显示为白色(Aero?)。我总体上喜欢 Aero,但是白色标题很难读!我已经遍历了所有我能想到的 UIManager 属性,但它们似乎都没有任何效果。在 UIManager 之下是否有我可以到达的级别 - 并且最好对我的应用程序进行一次更改,因为我不想为每个选项 Pane 调用添加代码。也许我遗漏了一些非常基本的东西……但我们将不胜感激!
我也想更改标题字体,但这并不紧急!
此外,顺便说一句,您是在设置外观之前还是之后调用 UIManager.put?还是不重要?
更多信息:我更改了我的 Win7 个性化设置,使用名为 Canada 的 Aero 主题,标题现在为黑色,使用合理的字体。所以我的问题变成了:
UIManager 属性如何与 Win7 主题相关,并且鉴于我无法预测用户将使用什么主题,我如何控制 Pane 标题的外观?
我打算换一种方式提出这个问题:为什么我不能更改应用程序显示面板中每个像素的颜色?在 UIManager 之下是否有一个级别,它似乎在允许修改的内容方面非常有限...?
最佳答案
这种方式会有点复杂,但是如果你需要自己的完全控制的Container,
1) 创建 Un_decorated JFrame/JDialog
2) 在 NORTH 位置,你可以将 JPanel
和 GradientPaint
放在一起,模拟来自 Win7
3) 并将 3 个带有 Icon 的 JButtons
放入带有 GradientPaint
JPanel
4) 将所需的事件添加到 JButtons
并且为了更好地输出到 GUI 将设置 JButtons#setContentAreaFilled(false)
关于java - 在 Java Swing 中更改面板标题的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8286747/