2

我有以下文件夹:

Game Of Life
|_bin
| |_Board.class
| |_Frame.class (main class)
|   ...
|_res
| |_playToolbar.png
| |_pauseToolbar.png
|   ...
|_src
  |_Board.java
  |_Frame.java
    ...

如何创建.jar包含每个类和图像的可执行文件,以便在执行.jar时运行Frame该类?我正在使用 Eclipse。

4

2 回答 2

0

如果您使用的是 eclipse,您可以Rightclick->Export在项目上做 a 并Runnable Jar FileJava. 您的res文件夹必须在 eclipse 中配置为源文件夹,否则不会导出。

您还必须注意,一旦将图像打包到 jar 文件中,加载图像可能会有所不同。有关更多信息,请参阅

于 2013-06-17T20:18:34.520 回答
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 builder,它可以毫无问题地从包中加载资源。

要自动运行 Frame 类,您必须创建一个 MANIFEST.MF 文件并将其放在 JAR 根目录下名为 META-INF 的文件夹中。在内部,您可以将 Frame 定义为 Main-Class:

Manifest-Version: 1.0
Main-Class: my.company.app.Frame

如果您选择 export->Runnable Jar,Eclipse 可以自动执行此步骤。

于 2013-06-17T20:41:20.280 回答