Eclipse,不会导入图像?

时间:2012-12-29 23:19:00

标签: java eclipse

由于某种原因,以下代码未正确导入图像并显示它。如果我注释掉绘图部分它是有效的。我无法弄清楚原因。

import javax.swing.*;
import java.awt.*;
import java.net.URL;

public class BoardBuild extends JPanel{
    String picPath = "pictures/";
    String[] fileName = {"board.png"};
    ClassLoader cl = BoardBuild.class.getClassLoader();
    URL imgURL[] = new URL[1];
    Toolkit tk = Toolkit.getDefaultToolkit();
    Image imgBG;
    public BoardBuild() throws Exception {
        for (int x = 0; x < 1; x++)
            imgURL[x] = cl.getResource(picPath + fileName[x]);
        imgBG = tk.createImage(imgURL[0]);
    }
    public void paintComponent(Graphics g) {
        g.drawImage(imgBG, 0, 0, 150,150 , 0, 0,73, 73, this);
    }
}

由于它是Eclipse,因此图片位于workspace\BoardMaskTest\src\pictures文件夹中。 我很感激你的帮助。

3 个答案:

答案 0 :(得分:1)

请勿在{{1​​}}

中加入“src”
picPath

答案 1 :(得分:1)

从类路径中获取资源,在jar中看到7zip或Winzip:

String picPath = "/pictures/";

此外,图像可以加载为

    for (int x = 0; x < 1; x++)
        URL url = getClass(().getResource(picPath + fileName[x]);
        imgBG = ImageIO.read(url);
        InputStream in = getClass(().getResourceAsStream(picPath + fileName[x]);
        imgBG = ImageIO.read(in);

答案 2 :(得分:0)

放在这里:

workspace/BoardMaskTest/pictures/

相应地更改路径。