swing换肤如何只影响单一的窗口?

netsgo 2009-11-14 04:21:40
用这句话:UIManager.setLookAndFeel("com.jgoodies.looks.windows.WindowsLookAndFeel");
可以把系统所有新建立的可视对象更换皮肤,但是我现在只想让某一个窗口内对象有换肤的效果(其它窗口时别的皮肤)。直接执行上面一句肯定不行了,因为这句话会影响所有后面新打开的界面。
如何做到?
...全文
163 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
netsgo 2009-11-16
  • 打赏
  • 举报
回复
没有更好的解决办法吗?
netsgo 2009-11-16
  • 打赏
  • 举报
回复
再自顶。
nj_dobetter 2009-11-15
  • 打赏
  • 举报
回复
~
[Quote=引用 4 楼 bayougeng 的回复:]
有个想法,你自己试试。
JFrame.setDefaultLookAndFeelDecorated(false);
JDialog.setDefaultLookAndFeelDecorated(true);
UIManager.setLookAndFeel("com.jgoodies.looks.windows.WindowsLookAndFeel");
然后,你要换肤的那个窗口,要用JDialog做基类。
[/Quote]
netsgo 2009-11-15
  • 打赏
  • 举报
回复
嗯,可能是个办法,不过最好frame也能成。
bayougeng 2009-11-14
  • 打赏
  • 举报
回复
有个想法,你自己试试。
JFrame.setDefaultLookAndFeelDecorated(false);
JDialog.setDefaultLookAndFeelDecorated(true);
UIManager.setLookAndFeel("com.jgoodies.looks.windows.WindowsLookAndFeel");
然后,你要换肤的那个窗口,要用JDialog做基类。
netsgo 2009-11-14
  • 打赏
  • 举报
回复
自顶
littlemonster 2009-11-14
  • 打赏
  • 举报
回复
帮顶~
我只这么用过。。

public static void main(String[] args) {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception e) {
e.printStackTrace();
}
new Gui();
}
xierangh 2009-11-14
  • 打赏
  • 举报
回复
好像不行呢。帮顶。

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧