无法定义图像的路径

时间:2013-03-03 18:15:16

标签: java image path embedded-resource

我将图像导入Eclipse,与此类在同一个包中:

public class mainWindow extends JFrame {
    public mainWindow() {
    Image bg = // \mainPackage\ShittyPlane.png;
    Graphics2D g2d;
    this.setSize(500,500);
    this.setResizable(false);
    this.setTitle("GameTest");
    this.setDefaultCloseOperation(EXIT_ON_CLOSE);
    this.setVisible(true);
    g2d.drawImage(bg, 0, 0, null);
  }
}

如何定义图像路径?

2 个答案:

答案 0 :(得分:1)

如果图片是您的一部分,并且稍后将其打包到jar中进行分发,那么我会使用getResourceAsStream获取图片流。

ClassLoader cl = getClass().getClassLoader();
InputStream is = cl.getResourceAsStream("mainPackage/ShittyPlane.png");
BufferedImage image = ImageIO.read(is);

如果从IDE运行程序,这个aproache也可以使用

如果您打算使用文件选择器找到图像,请使用@ Pescis的答案。

答案 1 :(得分:0)

从特定文件加载图像需要做的是:

BufferedImage img = null;
try {
    img = ImageIO.read(new File("src/mainPackage/ShittyPlane.png")); //I'm guessing this is the path to your image..
} catch (IOException e) {
}

有关详细信息,您可以阅读javadoc处理图片。