在Java Swing中更改面板标题的颜色

我正在使用144 dpi平板显示器在Win7上运行Swing应用程序.我的框架,选项窗格等的标题都在透明背景上显示为白色(Aero?).我一般都喜欢Aero,但白色标题很难读!我已经浏览了所有我能想到的UIManager属性,但它们似乎都没有任何效果.我可以在UIManager下面找到一个级别 – 并且最好为我的应用程序进行一次更改,因为我不想为每个选项窗格调用添加代码.也许我错过了一些非常基本的东西……但是我将不胜感激!

我也想更改标题字体,但这并不紧急!

另外,BTW,你在设置外观之前或之后放置了UIManager.put调用吗?或者不重要吗?

更多信息:我改变了我的Win7个性化,使用了一个名为Canada的Aero主题,标题现在是黑色的,使用了合理的字体.所以我的问题变成:

UIManager属性如何与Win7主题相关,并且由于我无法预测用户将使用哪些主题,如何控制窗格标题外观?

我将以另一种方式提出这个问题:为什么我不能改变应用程序显示面板中每个像素的颜色?是否有一个低于UIManager的级别,这似乎在你允许修改内容中非常有限……?

解决方法

这种方式会有点复杂,但如果你需要自己的容器全控制,

1)创建Un_decorated JFrame / jdialog

2)在norTH possition上你可以把JPanel和GradientPaint一起模拟来自Win7的容器

3)并将带有Icon的3个JButton放到带有GradientPaint的JPanel中

4)向JButtons添加所需的事件,并且更好地输出到GUI将设置JButtons#setContentAreaFilled(false)

相关文章

最近看了一下学习资料,感觉进制转换其实还是挺有意思的,尤...
/*HashSet 基本操作 * --set:元素是无序的,存入和取出顺序不...
/*list 基本操作 * * List a=new List(); * 增 * a.add(inde...
/* * 内部类 * */ 1 class OutClass{ 2 //定义外部类的成员变...
集合的操作Iterator、Collection、Set和HashSet关系Iterator...
接口中常量的修饰关键字:public,static,final(常量)函数...