说,我有3个面板添加到一个框架和第一个面板我想设置金属外观和感觉,对于第二个面板我想要窗户的外观和感觉,对于第三个面板它应该是默认的摇摆风格。
有可能吗?
答案 0 :(得分:5)
javax.swing.UIManager
类,其中look and feel is set是单身。任何时候都只能设置一个。
但是,您可以(如果您愿意)覆盖各个组件的UI代理(请参阅JComponent.setUI())。使用此方法,您可能会破坏使用备用外观的UI委托的一些组件。但在大多数情况下,他们会通过“真实”的外观和感觉来查找UIDefaults
设置,所以最多可能是一个很差的近似值。
答案 1 :(得分:1)
不,这是不可能的。
答案 2 :(得分:0)
实际上它有可能,现在正在发生在我身上。在我的GUI类中,我调用了
UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel")
由于某种原因,容器面板仍然是金属,而所有其他组件都是Nimbus。
答案 3 :(得分:0)
如何在不同的类加载器中加载UIManager.setLookAndFeel?
那不行吗?
我想如果它有效,你需要在类加载器之间桥接数据。我认为谷歌已经写了这样一座桥梁。