在 JFrame 中使用 Darcula LAF



我在Netbeans中安装了Darcula LAF,它的功能正常。它修改了 IDE 的外观以及应用程序在"预览设计"弹出窗口和 GUI 生成器中的外观。

下面是一个示例。

但是,运行应用程序时,外观不会保持不变。

下面是一个示例。

使用此代码列出已安装的外观

for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
            System.out.println(info.getName());
        }

显然,Darcula LaF已安装。但是,它不会显示为已安装到编译器。有没有办法在维护 Netbeans 模块的同时获取编译器的 LaF?

我查看了下载页面,GitHub页面,甚至Geertjan的博客以获取有关该主题的信息,都没有发现与此相关的任何内容。

确定我错过了一些显而易见的东西。不设置外观会默认为 metal,并且使用操作系统默认的外观也不能解决问题。

感谢所有帮助,如果格式不正确,我深表歉意。

编辑:为了清楚起见,它仅在代码中设置为Nimbus。有一些屏幕截图,说明当它未设置为 Nimbus 时它是如何反应的。它默认为金属。我之前已经删除了将其设置为Nimbus的代码,它使用Metal。http://prntscr.com/bte2xg我过去曾将其设置为使用"Darcula"而不是Nimbus,但它仍然使用Metal。http://prntscr.com/bte2b5

我过去已将其设置为使用"darcula-1.0.0"而不是Nimbus,但它仍然使用Metal http://prntscr.com/bte3nh。

我过去已将其设置为使用"darcula-1.0.0.jar"而不是Nimbus,但它仍然使用Metal。 http://prntscr.com/bte42m

我过去曾将其设置为使用"com.bulenkov.darcula",但它仍然使用Metal http://prntscr.com/bte3du。

我只是把雨云留在那里,让它出现在一些像样的东西上。

在类路径中包含此处的 jar 文件并使用此代码

BasicLookAndFeel darcula = new DarculaLaf();
        UIManager.setLookAndFeel(darcula);

解决了这个问题。我为自己的愚蠢道歉。

    for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
        System.out.println(info.getName());
        if ("Nimbus".equals(info.getName())) {
            javax.swing.UIManager.setLookAndFeel(info.getClassName());
            break;
        }
    }

你的代码告诉Java使用Nimbus——所以Nimbus它会使用,不管安装了任何其他L&F。如果你想使用另一个L&F,那么去掉安装Nimbus L&F的生产线,用你的代替。

在你的图书馆中添加 darcula.jar;然后在源文件中导入com.bulenkov.darcula.DarculaLaf然后

for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
    System.out.println(info.getName());
    if ("Nimbus".equals(info.getName())) {
        javax.swing.UIManager.setLookAndFeel(new DarculaLaf());
        break;
    }
}
确保在"

项目属性"->"打包"选项卡中勾选了"复制依赖库"。

相关内容

  • 没有找到相关文章

最新更新