gpt4 book ai didi

Java:在 jar 应用程序中设置图标

转载 作者:行者123 更新时间:2023-11-30 11:51:23 28 4
gpt4 key购买 nike

我开发了一个应用程序,我将它导出到一个可运行的 jar 中(包括它需要的库)。一切正常。

从 Eclipse 运行应用程序时,我可以更改应用程序窗口显示的图标:

BufferedImage image = null;
try {
image = ImageIO.read(this.getClass().getResource("AT42.png"));
} catch (IOException e) {e.printStackTrace();}
this.setIconImage(image);

图片放在我的.class文件目录下。

当我从 Eclipse 运行它时它显示图标,但是当我创建一个可运行的 jar 并执行它时我得到以下异常:

Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:58)
Caused by: java.lang.IllegalArgumentException: input == null!
at javax.imageio.ImageIO.read(Unknown Source)
at com.tools.at4.UserInterface.<init>(UserInterface.java:43)
at com.tools.at4.GeneradorInformes.main(GeneradorInformes.java:8)
... 5 more

我猜这个图标没有包含在 jar 文件中,我的问题是,有没有什么方法可以包含它,这样当我运行 jar 文件时,创建的窗口会显示我的图标而不是 Java 杯?

谢谢!!

最佳答案

根据您使用的路径,您的图像需要放在 jar 文件的根目录下。假设您的图像位于项目中名为“images”的目录中,此 ANT 任务会将图像放在 jar 的根目录中:

<target name="construct-jar" depends="compile,javadoc">
<copy todir="${build.dir}">
<fileset dir="images"/>
</copy>
<jar destfile="${dist.dir}/${jar.name}" basedir="${build.dir}"/>
</target>

关于Java:在 jar 应用程序中设置图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7506970/

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