0

我已经在我的 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;

我希望有人可以帮助我,谢谢。

4

1 回答 1

5

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

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

就像 Swing 中的几乎所有东西一样,有一个相当不错的教程可用

于 2012-04-06T21:36:09.067 回答