用java显示图像
我尝试了很多东西。。。但一切都没有结果。连续显示以下运行时错误用java显示图像,java,image,swing,embedded-resource,illegalargumentexception,Java,Image,Swing,Embedded Resource,Illegalargumentexception,我尝试了很多东西。。。但一切都没有结果。连续显示以下运行时错误 public void loadStdImage() throws IOException { Image image = ImageIO.read(this.getClass().getResource("/Resources/Images/Student/Capture.png")); //Line 350 ImageIcon icon = new ImageIcon(image); JLabel lb
public void loadStdImage() throws IOException
{
Image image = ImageIO.read(this.getClass().getResource("/Resources/Images/Student/Capture.png")); //Line 350
ImageIcon icon = new ImageIcon(image);
JLabel lblImage = new JLabel(icon);
lblImage.setIcon(icon);
lblImage.setBounds(753, 50, 149, 171);
add(lblImage);
}
项目文件夹结构为:
编辑:
找到了解决办法。请参见下图和上图中资源文件夹图标的更改。我将我的资源文件夹添加到Java构建路径。右键单击项目,转到属性,然后选择“Java构建路径”,从中将文件夹添加到Java构建路径。
干杯
欢迎来到SO。由于您是新来的,请阅读以下内容- 现在让我来帮你 我有一个标准的Eclipse项目: 我的测试类看起来像(最小): 现在,当我使用
package q34460547;
import java.awt.Image;
import java.io.IOException;
import javax.imageio.ImageIO;
public class LoadTest {
public static void main(String[] args) throws IOException {
new LoadTest().loadStdImage();
}
public void loadStdImage() throws IOException {
Image image = ImageIO.read(this.getClass().getResource("/ScreenShot005.png"));
}
}
ImageIO.read(this.getClass().getResource("/ScreenShot005.png"));
图像是从Eclipse中所谓的源文件夹加载的
当我使用
package q34460547;
import java.awt.Image;
import java.io.IOException;
import javax.imageio.ImageIO;
public class LoadTest {
public static void main(String[] args) throws IOException {
new LoadTest().loadStdImage();
}
public void loadStdImage() throws IOException {
Image image = ImageIO.read(this.getClass().getResource("/ScreenShot005.png"));
}
}
ImageIO.read(this.getClass().getResource("/ScreenShot005.png"));
从LoadTest.java文件所在的文件夹加载的图像(准确地说,它也被编译到同一个文件夹中——在Eclipse中是bin)
您可以在此处找到更多信息,例如-
编辑:
图像必须位于类路径上(当使用Class.getResource
时),这就是它没有从Resources
文件夹加载的原因。有两个选项,使用另一个版本的ImageIO.read()
或将您的Resources
文件夹设为源文件夹:
欢迎来到SO。由于您是新来的,请阅读以下内容- 现在让我来帮你 我有一个标准的Eclipse项目: 我的测试类看起来像(最小): 现在,当我使用
package q34460547;
import java.awt.Image;
import java.io.IOException;
import javax.imageio.ImageIO;
public class LoadTest {
public static void main(String[] args) throws IOException {
new LoadTest().loadStdImage();
}
public void loadStdImage() throws IOException {
Image image = ImageIO.read(this.getClass().getResource("/ScreenShot005.png"));
}
}
ImageIO.read(this.getClass().getResource("/ScreenShot005.png"));
图像是从Eclipse中所谓的源文件夹加载的
当我使用
package q34460547;
import java.awt.Image;
import java.io.IOException;
import javax.imageio.ImageIO;
public class LoadTest {
public static void main(String[] args) throws IOException {
new LoadTest().loadStdImage();
}
public void loadStdImage() throws IOException {
Image image = ImageIO.read(this.getClass().getResource("/ScreenShot005.png"));
}
}
ImageIO.read(this.getClass().getResource("/ScreenShot005.png"));
从LoadTest.java文件所在的文件夹加载的图像(准确地说,它也被编译到同一个文件夹中——在Eclipse中是bin)
您可以在此处找到更多信息,例如-
编辑:
图像必须位于类路径上(当使用Class.getResource
时),这就是它没有从Resources
文件夹加载的原因。有两个选项,使用另一个版本的ImageIO.read()
或将您的Resources
文件夹设为源文件夹:
检查命名资源的路径,确保它(正确)且在类路径的范围内。你在用什么IDE?仔细检查路径。。。。不高兴,我正在使用ecllipses,因此
资源
目录应该位于项目目录或src目录中。请记住,路径区分大小写,通常称为Resources
;)您获得null
输入的唯一原因是您指定的位置不存在资源(或拼写/大小写错误),请执行新生成(如果可能,请清理并生成),将项目导出为Jar,解压Jar并验证您要查找的图像是否在Jar中预期的位置检查命名资源的路径并确保它(正确)并且在类路径的范围内。你在用什么IDE?仔细检查路径。。。。不高兴,我正在使用ecllipses,因此资源
目录应该位于项目目录或src目录中。请记住,路径区分大小写,通常称为Resources
;)您获得null
输入的唯一原因是您指定的位置不存在资源(或拼写/大小写错误),请执行新生成(如果可能,请清理并生成),将项目导出为Jar,解压Jar并验证您要查找的图像是否在Jar中预期的位置。这非常有用。终于找到了。谢谢,当图像与.java类位于同一文件夹中时,它会工作。但是当图像位于资源文件夹中时(在这个链接中找到文件层次:),我建议代码应该如下所示:ImageIO.read(this.getClass().getResource(“/Resources/Images/Student/Capture.PNG”)); 但是我得到了一个“java.lang.IllegalArgumentException”,请注意我的src
(与你的src
)或我的img
)的文件夹图标不同,但是你的资源
文件夹有不同的图标-请参见编辑;-)请编辑您的问题并将图片添加到此处,这可能会对将来的其他人有所帮助;-)这是非常有用的。终于找到了。谢谢,当图像与.java类位于同一文件夹中时,它会工作。但是当图像位于资源文件夹中时(在这个链接中找到文件层次:),我建议代码应该如下所示:ImageIO.read(this.getClass().getResource(“/Resources/Images/Student/Capture.PNG”)); 但是我得到了一个“java.lang.IllegalArgumentException”,请注意我的src
(与你的src
)或我的img
)的文件夹图标不同,但是你的资源
文件夹有不同的图标-请参见编辑;-)请编辑您的问题并将图片添加到此处,这可能会对将来的其他人有所帮助;-)