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

问题描述 投票:1回答:1

我正在尝试使用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

java swing look-and-feel java-module synth
1个回答
2
投票
open module SynthApplication { requires java.desktop; }

并且呜呼声起作用。

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

希望它可以帮助别人。

© www.soinside.com 2019 - 2024. All rights reserved.