gpt4 book ai didi

java - 如何在java runnable jar中加载图像?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:35:37 26 4
gpt4 key购买 nike

当我将我的项目转换为同一系统的可运行 jar 时,图像正在输出中加载。但是当我在另一个系统中尝试时,图像加载失败?如何提供图片 URL 而不是使用 c:?请帮忙解决这个问题?

JToolBar toolbar = new JToolBar("Toolbar", JToolBar.HORIZONTAL);

JButton capturebut = new JButton(new ImageIcon("C:\\sampleprojects\\
compare\\shankar\\src\\capture.gif"));

capturebut.setToolTipText("Capture");

toolbar.add(capturebut);

最佳答案

需要将图片文件放入JAR文件中,然后使用java.lang.ClassgetResource()方法获取引用该文件的URL在 JAR 文件中;现在您的代码正在直接从您的文件系统而不是从 JAR 文件中加载图像文件。

您传递给 getResource() 的字符串取决于您将它放在 JAR 文件中的位置。如果执行此操作的类是 com.acme.bar 包中的类 Foo,您可以将 capture.gif 放在同一个 com JAR 文件的\acme\bar\ 子目录(与 Foo 类在同一目录中),然后执行

JButton capturebut = new JButton(new ImageIcon(Foo.class.getResource("capture.gif")));

这是因为在具有相对名称(不是以/ 开头)的类上调用getResource() 将在类所在的同一目录下查找资源该类(class)的文件正在开会。

另一方面,您可以在 JAR 文件的根目录下创建一个 resources\images 子目录,而不是 "capture.gif" 使用 “/resources/images/capture.gif”。以“/”开头的名称使其从 JAR 文件的根目录开始搜索,而不是相对于类文件所在的位置。

关于java - 如何在java runnable jar中加载图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7963155/

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