Java:图像没有从资源文件夹中加载
我目前正在从事一个学校项目。 但是,我正在与Jframe和Jpanel合作。 我需要从项目中的资源文件夹中添加图像作为徽标,因此不允许将其移动到其他地方。
file:///users/myname/git/m0/myname/src/resources/siegel.jpg
当我尝试使用siegel.jpg
加载它时,它会失败。 使用资源/siegel.jpg
和src/resources/siegel.jpg
也是如此。
我想念什么?下面是我的代码。
package gui;
import java.awt.BorderLayout;
import java.awt.image.BufferedImage;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class ImageFrame extends JPanel {
public ImageFrame() {
this.setLayout(new BorderLayout());
try {
BufferedImage logo = ImageIO.read(this.getClass().getResource("src/resources/siegel.jpg"));
JLabel image = new JLabel(new ImageIcon(logo));
this.add(image);
} catch (IOException e) {
// TODO Auto-generated catch block
System.out.println("Fuck you");
// e.printStackTrace();
}
}
}
确切的错误msg:
at java.desktop/javax.imageio.ImageIO.read(ImageIO.java:1402)
at gui.ImageFrame.<init>(ImageFrame.java:20)
at gui.LeftPanel.<init>(LeftPanel.java:28)
at gui.MyFrame.<init>(MyFrame.java:31)
at gui.GUI_main.main(GUI_main.java:9)
I am currently working on a school project.
However, I am working with JFrame and JPanel.
I need to add an image as a logo from my resources folder inside my project, I am not allowed to move it somewhere else.
The tree of three project looks like this:
file:///Users/myname/git/M0/myname/src/resources/siegel.jpg
When I try to load it with siegel.jpg
it fails.
with resources/siegel.jpg
and src/resources/siegel.jpg
too.
What did I miss? Down below is my code.
package gui;
import java.awt.BorderLayout;
import java.awt.image.BufferedImage;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class ImageFrame extends JPanel {
public ImageFrame() {
this.setLayout(new BorderLayout());
try {
BufferedImage logo = ImageIO.read(this.getClass().getResource("src/resources/siegel.jpg"));
JLabel image = new JLabel(new ImageIcon(logo));
this.add(image);
} catch (IOException e) {
// TODO Auto-generated catch block
System.out.println("Fuck you");
// e.printStackTrace();
}
}
}
The exact error msg:
at java.desktop/javax.imageio.ImageIO.read(ImageIO.java:1402)
at gui.ImageFrame.<init>(ImageFrame.java:20)
at gui.LeftPanel.<init>(LeftPanel.java:28)
at gui.MyFrame.<init>(MyFrame.java:31)
at gui.GUI_main.main(GUI_main.java:9)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
应该是确切的错误,
尝试使用“/siegel.jpg”
强>
以下代码至少对我有用,
This should be the exact error,
Try with "/siegel.jpg"
If you want to give a complete path,
The below code is working at least for me,