swing Java nimbus外观和感觉视图总是不同的
我已经在我的java应用程序中设置了外观和感觉nimbus,但我不知道为什么视图在不同的帧之间总是不同的。在一个画面中,我得到了完美的蓝色光环,在另一个画面中,我得到了灰色的光环,但这并不合适。另一个没有显示为使用nimbus外观。以下是我在main中使用的代码
try {
for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (Exception e) {
// If Nimbus is not available, you can set the GUI to another look and feel.
}
我也进口
import javax.swing.*;
import javax.swing.UIManager.LookAndFeelInfo;
我希望有人能帮我,谢谢
# 1 楼答案
当您从一种外观切换到另一种时,必须确保为每个顶级容器调用一次
SwingUtilities#updateComponentTreeUI
方法。此外,如果存储的UI组件不是任何可见UI/顶级容器的一部分,那么也必须更新这些组件例如,如果在切换“外观”时已经创建了第二个面板,请确保也对其进行了更新
就像几乎任何摇摆运动一样,有一个相当好的tutorial可用