Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用java显示图像_Java_Image_Swing_Embedded Resource_Illegalargumentexception - Fatal编程技术网

用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
)的文件夹图标不同,但是你的
资源
文件夹有不同的图标-请参见编辑;-)请编辑您的问题并将图片添加到此处,这可能会对将来的其他人有所帮助;-)