如何在模块化Java应用程序中使用SynthLookAndFeel?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在模块化Java应用程序中使用SynthLookAndFeel?相关的知识,希望对你有一定的参考价值。

我正在尝试使用SynthLookAndFeel类,但无法使其在我的模块化应用程序中工作。

我从Synth Application的官方Java Tutorial page on The Synth Look And Feel样本回到基础知识,只是添加了具有以下内容的module-info.java文件:

module SynthApplication {
    requires java.desktop;
}

它生成的很好,但是运行时,控制台会显示一个指向NullPointerExceptionjava.desktop/sun.awt.SunToolkit.getImageFromHash(SunToolkit.java:653)堆栈跟踪,并且仅显示一个空白窗口。

[问题似乎在于L&F的images/button.png定义中引用的图像(例如:buttonSkin.xml)的分辨率:图像路径被转换为伪包名称(lookandfeel.images),而不是导出到java.desktop模块。

我尝试将exports lookandfeel;添加到module-info.java =>相同的错误

我试图将exports lookandfeel.images;添加到module-info.java =>构建错误Error:(4, 24) java: package is empty or does not exist: lookandfeel.images

是否有一种方法可以使图像分辨率正常工作,或者SynthLookAndFeel是否与Java模块完全不兼容?

谢谢。 Vicne。

注意:我正在使用openJdk 14

答案
open module SynthApplication { requires java.desktop; }

并且呜呼声起作用。

[确定,了解到一些知识:SynthLookAndFeel必须是开放模块的一部分,才能正常工作。

希望它可以帮助别人。

以上是关于如何在模块化Java应用程序中使用SynthLookAndFeel?的主要内容,如果未能解决你的问题,请参考以下文章

在java中如何保证程序模块只被执行一次

如果应用程序有多个登录页面,如何使用安全模块(播放框架)

在Heroku上部署多个模块java应用程序

在多模块 Java/scala 项目中有一个通用的 webapp?

如何解决java9中的模块读取包错误

如何使用 Android Java Camera View 模块创建自定义 React Native 组件?