Java 将使用图片的.jar转换为.exe

Java 将使用图片的.jar转换为.exe,java,image,jar,exe,jsmooth,Java,Image,Jar,Exe,Jsmooth,我用Java编写了一个程序,它使用了大量图片(每个JButton都有一个)。 我从项目中导出了.jar文件,并使用JSmooth将其转换为.exe。当我运行.exe时,在我的计算机上一切正常,但在其他计算机上,按钮上没有图片。我应该如何使用.exe提供这些图片,以便每个人都可以使用该程序,而不仅仅是我的计算机 我到处都找了,但是我找不到我的答案,请帮忙 这是加载图像的示例: buttons[index].setIcon(new ImageIcon("cards\\"+(index+1)+".p

我用Java编写了一个程序,它使用了大量图片(每个JButton都有一个)。 我从项目中导出了.jar文件,并使用JSmooth将其转换为.exe。当我运行.exe时,在我的计算机上一切正常,但在其他计算机上,按钮上没有图片。我应该如何使用.exe提供这些图片,以便每个人都可以使用该程序,而不仅仅是我的计算机

我到处都找了,但是我找不到我的答案,请帮忙

这是加载图像的示例:


buttons[index].setIcon(new ImageIcon("cards\\"+(index+1)+".png"));


您希望将jar文件转换为exe文件的原因是什么? 如果将Java文件标记为可执行文件,那么应该能够在windows上执行jar

可以将图片打包到罐子中。首选的方法是熟悉IDE创建jar的脚本。您使用哪种IDE(集成开发环境)

---编辑---

java代码中需要的以下代码:

buttons[index].setIcon(new ImageIcon(getClass().getClassLoader().getResource((index+1)+".png")));
创建Jar文件后,可以使用归档程序(如winzip或类似程序)打开它,然后将图像复制到Jar文件(根)中。
如果你想自动执行这个程序,你需要生成一个ant文件。并修改此ant文件,以便它可以动态复制png,更多信息可在此处找到:

图片存储在哪里?如何为JButton加载它们?(显示将每张图片分配给JButton的代码)我编辑了原始帖子,现在显示代码。我的图片保存在eclipse中制作的源文件夹(卡片)中。问题是构造函数
ImageIcon(String)
是从文件加载的,而不是从jar文件中加载的。除了文件,Java还有一个更抽象的概念,叫做“资源”。它们可以相对于Java类进行检索,当您将Java类和图像放入jar文件中时,仍然可以找到它们。看一看,我试着使用getResource方法,所有东西都在我的IDE中工作,但是当我将它导出为jar文件时,如果我尝试运行它,什么都不会发生,它甚至不会打开应用程序。我将代码更改为:
buttons[index].setIcon(新的ImageIcon(cl.getResource(“resources\\”+(index+1)+“.png”))
当我试图提取jar时,其中有一个resources文件夹,其中包含所有必要的图片,但程序无法运行。我该怎么办?谢谢你的回答!我使用Eclipse,我应该如何制作脚本?谢谢你的帮助。我尝试了您的代码,但仍然只能在Eclipse中工作,当我尝试运行.jar时,它甚至无法打开程序。我把它打开,根目录中已经有了所有的图片。@HarkoslavBarko,我真的需要更多的信息。你能给我发封电子邮件吗?您可以使用:so@ftoc.nl