【问题标题】:Converting .jar which uses pictures into .exe将使用图片的 .jar 转换为 .exe
【发布时间】: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


【解决方案1】:

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

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

--- 已编辑 ---

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

buttons[index].setIcon(new ImageIcon(getClass().getClassLoader().getResource((index+1)+".png")));

创建 Jar 文件后,您可以使用存档程序(如 winzip 或类似软件)打开它,然后将图像复制到 jar 文件(根目录)中。 如果要自动执行此程序,则需要生成一个 ant 文件。并调整这个 ant 文件,以便它也可以即时复制 png,更多信息可以在这里找到:https://ant.apache.org/manual/index.html

【讨论】:

  • 感谢您的回答!我使用 Eclipse,我应该如何制作那个脚本?
  • 感谢您的帮助。我试过你的代码,但仍然只能在 Eclipse 中工作,当我尝试运行 .jar 时,它甚至不会打开程序。我打开包装,root里面已经有所有图片了。
  • @HarkoslavBarko,我真的需要更多信息。你能给我发一封电子邮件吗?您可以使用:so@ftoc.nl
猜你喜欢
  • 1970-01-01
  • 2018-11-05
  • 2023-03-30
  • 1970-01-01
  • 2012-11-24
  • 1970-01-01
  • 1970-01-01
  • 2013-02-27
  • 1970-01-01
相关资源
最近更新 更多