使用 eclipse 生成 .jar 文件后如何加载图像?
How do I load an image after I generated a .jar file with eclipse?
我刚刚在 java 中编写了一个小程序,可以拍摄图像并将其打印在相框上。
我使用 JPanel 加载图像:
public class Board extends JPanel {
private Image mummy;
public Board() {
initBoard();
}
private void initBoard() {
loadImage();
int w = mummy.getWidth(this);
int h = mummy.getHeight(this);
setPreferredSize(new Dimension(w, h));
}
private void loadImage() {
ImageIcon ii = new ImageIcon("mummy.png");
mummy = ii.getImage();
}
@Override
public void paintComponent(Graphics g) {
g.drawImage(mummy, 0, 0, null);
}
}
和 JFrame 来打印它。
然后我通过 Eclipse 的导出部分创建了 .jar 文件(可运行的 JAR 文件)。
问题是现在我在 运行 .jar 文件时无法加载图像。我尝试将图像放在 .jar zip 中的任何位置,但只是代码无法加载它。
每个人都知道如何使用这种方法加载图像,或者我应该使用包装器来创建 .jar 文件而不是 eclipse?
伙计们,我想通了:
ImageIcon("") 具有放置所有代码的默认起始目录,但在 eclipse 项目和 eclipse 生成的 Runnable jar 文件之间有所不同。
- 当是项目时:就是项目的目录,所以src和bin目录在哪。
-当是.jar时:src不存在,现在起始目录是.jar文件所在的目录。
例如:
为简单起见,让我们将创建的可运行文件放在 ~ 目录中。
-使用new ImageIcon("src/images/mummy.png")
,你必须将目录“images”和相关文件放在项目的src目录中,源文件和包所在的目录,结构如下:
...eclipse-workspace/Project/src/cli/*.java - 源代码所在的位置。
...eclipse-workspace/Project/src/images/mummy.png - 文件所在的位置。
在使用 eclipse 创建可运行的 .jar 后,您必须将一个新的“src”目录和“images”放在 .jar 所在的同一目录中,形成如下结构:
~/project.jar(.jar 文件)
~/src/images/mummy.png(我在代码中用new ImageIcon("src/images/mummy.png")
加载的图片
谢谢你的评论。
我刚刚在 java 中编写了一个小程序,可以拍摄图像并将其打印在相框上。 我使用 JPanel 加载图像:
public class Board extends JPanel {
private Image mummy;
public Board() {
initBoard();
}
private void initBoard() {
loadImage();
int w = mummy.getWidth(this);
int h = mummy.getHeight(this);
setPreferredSize(new Dimension(w, h));
}
private void loadImage() {
ImageIcon ii = new ImageIcon("mummy.png");
mummy = ii.getImage();
}
@Override
public void paintComponent(Graphics g) {
g.drawImage(mummy, 0, 0, null);
}
}
和 JFrame 来打印它。 然后我通过 Eclipse 的导出部分创建了 .jar 文件(可运行的 JAR 文件)。
问题是现在我在 运行 .jar 文件时无法加载图像。我尝试将图像放在 .jar zip 中的任何位置,但只是代码无法加载它。
每个人都知道如何使用这种方法加载图像,或者我应该使用包装器来创建 .jar 文件而不是 eclipse?
伙计们,我想通了:
ImageIcon("") 具有放置所有代码的默认起始目录,但在 eclipse 项目和 eclipse 生成的 Runnable jar 文件之间有所不同。 - 当是项目时:就是项目的目录,所以src和bin目录在哪。 -当是.jar时:src不存在,现在起始目录是.jar文件所在的目录。
例如: 为简单起见,让我们将创建的可运行文件放在 ~ 目录中。
-使用new ImageIcon("src/images/mummy.png")
,你必须将目录“images”和相关文件放在项目的src目录中,源文件和包所在的目录,结构如下:
...eclipse-workspace/Project/src/cli/*.java - 源代码所在的位置。
...eclipse-workspace/Project/src/images/mummy.png - 文件所在的位置。
在使用 eclipse 创建可运行的 .jar 后,您必须将一个新的“src”目录和“images”放在 .jar 所在的同一目录中,形成如下结构:
~/project.jar(.jar 文件)
~/src/images/mummy.png(我在代码中用new ImageIcon("src/images/mummy.png")
谢谢你的评论。