我有以下文件夹:
Game Of Life
|_bin
| |_Board.class
| |_Frame.class (main class)
| ...
|_res
| |_playToolbar.png
| |_pauseToolbar.png
| ...
|_src
|_Board.java
|_Frame.java
...
如何创建包含每个类和图像的可执行文件.jar
,以便在执行.jar
时运行Frame
类?我正在使用Eclipse。
答案 0 :(得分:0)
如果您正在使用eclipse,则可以在项目上执行Rightclick->Export
并在Runnable Jar File
下选择Java
。您的res
文件夹必须在eclipse中配置为源文件夹,否则不会导出。
您还必须考虑一旦将图像打包到jar文件中,加载图像可能会有所不同。有关详细信息,请参阅this
答案 1 :(得分:0)
我认为最好将照片放入包装内。这样,所有内容都将从您的JAR文件打包并加载。
之后,您将不得不使用来自Class实例的getResource(...)方法加载图像。
你会有这样的事情:
GameOfLife
|- src
| |- my
| | |- company
| | | |- app
| | | | | Board.java
| | | | | Frame.java
| | | | |- resources
| | | | | |- playToolbar.png
| | | | | |- pauseToolbar.png
然后从Frame类创建一个“playToolbar.png”的ImageIcon,你将不得不使用:
new ImageIcon(Frame.class.getResource("resources/playToolbar.png"));
或者:
new ImageIcon(Frame.class.getResource("/my/company/app/resources/playToolbar.png"));
如果您使用的是Netbeans GUI构建器,它可以毫无问题地从包中加载资源。
要自动运行Frame类,您必须创建一个MANIFEST.MF文件并将其放在JAR根目录下名为META-INF的文件夹中。在里面,您可以将Frame定义为Main-Class:
Manifest-Version: 1.0
Main-Class: my.company.app.Frame
如果选择export-> Runnable Jar。
,Eclipse可以自动完成此步骤