有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案

  1. # 1 楼答案

    当您从一种外观切换到另一种时,必须确保为每个顶级容器调用一次SwingUtilities#updateComponentTreeUI方法。此外,如果存储的UI组件不是任何可见UI/顶级容器的一部分,那么也必须更新这些组件

    例如,如果在切换“外观”时已经创建了第二个面板,请确保也对其进行了更新

    就像几乎任何摇摆运动一样,有一个相当好的tutorial可用