【问题标题】:Setting Look and Feel for Netbeans Platform (RCP) Application设置 Netbeans 平台 (RCP) 应用程序的外观
【发布时间】:2020-12-07 08:47:24
【问题描述】:

Netbeans 最近添加了我希望将其添加到我们的 Netbeans 平台 (RCP) 应用程序中的 FlatLaf 外观。 我看到很多线程描述了如何为一个简单的 java 应用程序添加外观,但很少有人关心将其添加到 netbeans rcp 应用程序并没有真正提供解决方案或只有死链接。

如果我在我们的应用程序中激活“工具 -> 选项 -> 外观”菜单条目,我已经可以手动激活 FlatLaf,但我显然希望在应用程序启动时自动执行此操作。

有人知道怎么做吗?

(项目在JDK11和Netbeans RCP依赖下运行,版本为RELEASE113(11.3))

【问题讨论】:

    标签: java look-and-feel netbeans-platform netbeans-11


    【解决方案1】:

    ModuleInstall 子类的validate() 方法中添加以下代码,以便在启动过程中尽早完成。

    NbPreferences.root().node("laf").put("laf", FlatDarkLaf.class.getName());
    UIManager.installLookAndFeel(new UIManager.LookAndFeelInfo("FlatLaf Dark", FlatDarkLaf.class.getName()));  
    

    切换回默认主题:

    NbPreferences.root().node("laf").remove("laf");
    

    有关更完整的代码,请查看我在GitHub 上的应用程序 JJazzLab-X,在 UISettings Netbeans 模块中。

    【讨论】:

    • 感谢您的提示,但遗憾的是它对我不起作用。我将这两行代码放入已经存在的类 (public class Installer extends ModuleInstall) 的重写 validate() 方法中。在那之后我也尝试了:NbPreferences.root().node("laf").put("laf", "com.formdev.flatlaf.FlatDarkLaf"); FlatDarkLaf.install(); UIManager.setLookAndFeel(new FlatDarkLaf());(在 formdev 网站上开始之后)但这也不起作用.. 没有错误或任何事情,顺便说一句,当我启动应用程序时没有显示 flatlaf。
    • 奇怪。什么版本的Netbeans?这两行代码适用于我的 RCP 应用程序(JDK 11 和 Netbeans 12)。您是否尝试调试以确保调用代码?与您设置 L&F 时留下的其他代码冲突?
    • 确实如此。我们使用 Netbeans RELEASE113 作为依赖版本,使用 Netbeans IDE 12.2 来运行/调试它(如果重要的话)。我还认为它可能根本没有执行,但调试表明它确实被执行了。应用程序中不存在有关 L&F 的其他代码(据我所知)。不过,在另一个 nbm 包中还有另一个 Installer 类扩展 ModuleInstall。但我也尝试在那里添加这个validate() 方法,它也没有改变结果。
    • 好吧,我的工作应用程序的唯一区别似乎是 Netbeans 平台模块...您可以尝试使用 Netbeans 12 作为依赖版本而不是 11.3 吗?
    • 对于品牌图标和闪屏,在使用 Dark laf Netbeans 时搜索不同的文件名,即 frame_dark.gif 而不是 frame.gif、frame32_dark.gif、splash_dark.gif 等。所以你需要手动创建这些文件在同一品牌目录中。
    【解决方案2】:

    致任何想尝试 jjazzboss 解决方案的人: 只要您添加以下依赖项(我忘记了),它就像一个魅力:

    <dependency>
        <groupId>org.netbeans.api</groupId>
        <artifactId>org-netbeans-libs-flatlaf</artifactId>
        <version>${netbeans.version}</version>
    </dependency>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-11
      • 1970-01-01
      • 2021-10-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多