1

我的构造函数有问题File(String)。它给了我Can't read input file例外。我的 JFrame 在包view中,图像(文件)在images

/view
   /MyJFrame.java
/images
   /MyImage.jpe

MyImages.jpe所以我想像这样导入

Image img = ImageIO.read(new File("/src/images/MyImage.jpe"));

我想让它在所有 PC 上工作,这就是为什么我没有放置绝对路径。请有人在这里帮忙。

4

2 回答 2

3

你打算如何部署这个?我怀疑你会想把你的整个应用程序放到一个 jar 文件中......或者至少放在类路径中。此时,假设您/images在类路径中有根,您可以执行以下操作:

Image img = ImageIO.read(getClass().getResource("/images/MyImage.jpe"));

目前的问题是您提供了一个绝对文件名,即使您真的想要一个相对文件名......并且在图像位于 jar 文件中的地方,它无论如何都不会工作,因为它们不会单独的文件。

于 2013-06-09T18:16:44.573 回答
1

尝试将您的图像文件夹直接放入您的项目文件夹中:

Image img = ImageIO.read(new File("/images/MyImage.jpg"));
于 2013-06-09T18:38:23.523 回答