导出到runnable jar

时间:2017-07-01 14:29:00

标签: java eclipse jbutton imageicon

在我的应用程序中,我有两个包,其中一个包含.class文件,另一个包含图片。几乎所有图像都用在按钮上或作为按钮使用。

所以目前项目的结构如下:

project

我初始化这些按钮,当在Eclipse中启动时,一切正常:

btnRegisterBack.setIcon(new ImageIcon(new ImageIcon(Gui.class.getResource("/resources/back.png")).getImage().getScaledInstance(50, 50, Image.SCALE_DEFAULT)));

正如我已经查看过的那样(目前对我而言)所有涉及此主题的stackoverflow文章都尝试了几乎所有提到的内容。

我到目前为止所尝试的当然是检查构建路径但是到目前为止我应该包含所有内容(我想在这里给你一个图像,所以你可以检查一下但是stackoverflow说我至少需要超过2个链接的10个声誉。)

除此之外,我首先将图像存储在与它们相同的包中的.class文件旁边(这是起点),然后尝试解决将图片首先移动到“资源” - 包的问题(如上所示)然后到本文中建议的新文件夹:stackoverflow。 COM /问题/ 25635636 / Eclipse的出口可运行-JAR-未示出图像。

在所有这些尝试都无法工作之后,我只是查看.jar​​文件以检查图像是否已导出。它们直接存储在.jar中的“resources”文件夹中,该文件夹与.class文件位于不同的路径上:

resources

所以我认为可以提供帮助的是通过给出“向后”的路径来引用图像,如

btnRegisterBack.setIcon(new ImageIcon(new ImageIcon(Gui.class.getResource("/../../../resources/back.png")).getImage().getScaledInstance(50, 50, Image.SCALE_DEFAULT)));

因为它们存储在不同的目录中。我一直在为上面的文件夹尝试不同的步骤,如果“/../”,“/。/”,“../”,“。/”之间存在差异,也会尝试,但到目前为止唯一的事情是改变的是,除非我返回“旧路径”(“/resources/back.png”),否则程序现在也不再适用于Eclipse。

我尝试的最后一件事是使用“retrieveImage”方法,该方法使用来自java.net的URL作为Stack Overflow上的其他人建议,但这也没有解决任何问题。

这是一项大学任务。

0 个答案:

没有答案