在JFrame中使用Darcula LAF

时间:2016-07-15 19:55:56

标签: java swing netbeans look-and-feel

我在Netbeans中安装了Darcula LAF,它功能齐全。它修改了IDE的外观以及应用程序在“预览设计”弹出窗口和GUI生成器中的显示方式。

Here就是一个例子。

但是,运行应用程序时外观不会停留。

Here就是一个例子。

使用此代码

列出已安装的外观
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
            System.out.println(info.getName());
        }

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

我查看了download pageGitHub page,甚至Geertjan's blog了解有关此主题的信息,但未发现任何相关信息。

我确信我错过了一些非常明显的东西。没有设置外观并且默认为金属,并且使用操作系统默认外观也无法解决问题。

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

编辑:为了清晰起见,它仅在代码中设置为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

我只是把Nimbus放在那里,因为它出现在一些可以呈现的东西上。

3 个答案:

答案 0 :(得分:4)

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

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

解决了这个问题。我为自己的白痴道歉。

答案 1 :(得分:2)

    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 - 因此无论安装任何其他L& F,它都将使用Nimbus。如果您想使用另一个L& F,那么请摆脱安装Nimbus L& F的线路,并将其更换为您的。

答案 2 :(得分:2)

在您的媒体库中添加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;
    }
}

确保在“项目属性”->“打包”标签中选中“复制依赖的库”。