我一周前开始学习Java,现在我想在窗口中插入一张图片。不管我尝试什么方法,在Eclipse中总是出现以下错误:javax.imageio.IIOException: 无法读取输入文件!
package graphics;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Image;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.JFrame;
import javax.swing.JPanel;
import src.Common;
public class Window extends JFrame
{
public class Panel extends JPanel
{
public void paintComponent(Graphics g)
{
Image img;
try
{
img = ImageIO.read(new File("/logo.jpg"));
g.drawImage(img, 0, 0, this);
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
public Window(String title, int width, int height)
{
this.setTitle(title);
this.setSize(width, height);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setContentPane(new Panel());
this.setVisible(true);
}
我认为这段代码已经很好理解了。 我尝试使用这个,那个和那个来解决问题。
我正在做一个桌面程序,我的源代码存储在这样的位置: training/src/graphics/Window training/src/src/main
我在每个文件夹中都放置了我想要读取的图像,但仍然遇到了问题:/
我做错了什么?
编辑:最终解决方案如下:
nIcE cOw给了我链接,这对我有所帮助。所以我把我的图片放到了一个文件夹里,并按照链接中所述的方式访问它们。
getClass().getResource("/images/yourImageName.extension");