gpt4 book ai didi

java - 如何在java中加载合成风格

转载 作者:行者123 更新时间:2023-11-30 04:35:44 24 4
gpt4 key购买 nike

我正在尝试合成风格,我遇到了以下问题,经过相当多的研究后尚未找到答案。我有以下 xml 文件

<?xml version="1.0" encoding="UTF-8"?>
<synth>
<style id="button">
<state>
<color value="blue" type="BACKGROUND"/>
<color value="yellow" type="FOREGROUND"/>
</state>
</style>
<bind style="button" type="region" key="Button"/>
</synth>

以及以下 java 代码将该 xml 文件加载为 SynthLookAndFeel 对象

private void initializeStyle() {
SynthLookAndFeel laf = new SynthLookAndFeel();
try {
laf.load(this.getClass().getResourceAsStream("Style.xml"), this.getClass());
UIManager.setLookAndFeel(laf);
} catch (ParseException | UnsupportedLookAndFeelException e) {
e.printStackTrace();
}
}

当我尝试运行此代码时,出现以下异常

Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: You must supply an InputStream, StyleFactory and Class or URL

非常欢迎任何有关如何解决此问题的建议。

最佳答案

您可以在Advanced Synth中找到一个很好的例子.

您可以在示例中看到:

SynthLookAndFeel synth = new SynthLookAndFeel();
synth.load(SynthFrame.class.getResourceAsStream("demo.xml"), SynthFrame.class);
UIManager.setLookAndFeel(synth);

并且 demo.xml 位于 demo.synth 包中,与 SynthFrame 类相同,其中此 XML 包含一些图像:

<imageIcon id="check_off" path="images/checkbox_off.png"/>

checkbox_off.png 位于 demo.synth.images 包中。

希望这可以帮助你。

关于java - 如何在java中加载合成风格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13573579/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com