【发布时间】:2015-05-23 14:55:14
【问题描述】:
我用 Java 编写了一个程序,它使用了大量图片(每个 JButton 都有一个)。 我从我的项目中导出了 .jar 文件,并使用 JSmooth 将其转换为 .exe。当我运行 .exe 时,在我的计算机上一切正常,但在其他计算机上,按钮上没有图片。我应该如何将这些图片提供.exe,以便每个人都可以使用程序,而不仅仅是我的电脑?
我到处搜索,但我找不到我的答案,请帮助!
这是加载图片的例子:
buttons[index].setIcon(new ImageIcon("cards\\"+(index+1)+".png"));
【问题讨论】:
-
图片存放在哪里?以及如何为 JButton 加载它们? (显示将每张图片分配给 JButton 的代码)
-
我编辑了原始帖子,现在显示代码。我的图片保存在我在eclipse中制作的源文件夹(卡片)中。
-
问题是构造函数
ImageIcon(String)从文件加载,而不是从jar文件中加载。除了文件,Java还有一个更抽象的概念叫做“资源”。它们可以相对于 Java 类进行检索,并且当您将 Java 类和图像放在 jar 文件中时,仍然可以找到它们。看看docs.oracle.com/javase/tutorial/deployment/webstart/… -
我尝试使用 getResource 方法,一切都在我的 IDE 中运行,但是当我将它导出为 jar 文件时,如果我尝试运行它,没有任何反应,它甚至不会打开应用程序。我将代码更改为:
buttons[index].setIcon(new ImageIcon(cl.getResource("resources\\"+(index+1)+".png")))当我尝试提取 jar 时,其中有包含所有必要图片的资源文件夹,但程序无法运行。我该怎么办?
标签: java image jar exe jsmooth