图像读取错误

时间:2013-12-17 14:13:07

标签: java image jlabel

我正在尝试创建一个图像编写器,它将读取模板图像,然后在其上写入文本,然后使用新文本创建一个新图像。出于某种原因,当我的代码对我来说很好时我会收到错误。以下是代码:

public class GUI extends JFrame{
    private JPanel p1 = new JPanel();//Puts tiles in, and organizes them for you
    private JPanel p2 = new JPanel();//Holds trash tiles
    JLabel ll = new JLabel();
    //private JPanel p3 = new JPanel();//Holds trash tiles  
    public GUI(){
        this.setTitle("Tile Game");
        this.setSize(600,600);
        this.setDefaultCloseOperation(EXIT_ON_CLOSE);
        this.setLocationRelativeTo(null);
        try {
            createTile();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        this.add(ll);
    }   
    public void createTile() throws IOException{

        final BufferedImage image = ImageIO.read(getClass().getResource("/src/tile.png"));
        //File outPut = new File("saved.png");
        Graphics g = image.getGraphics();
        g.setFont(g.getFont().deriveFont(30f));
        g.drawString("Hello World!", 100, 100);
        g.dispose();                
        ImageIO.write(image, "png", new File("/src/test2.png"));        
        final BufferedImage image2 = ImageIO.read(new File("/src/test2.png"));  
        ImageIcon icon1 = new ImageIcon(image2);
        ll.setIcon(icon1);
        p1.add(ll); }
}

当我运行上面的代码时,我最终得到了这些错误:

 GUI.<init>() line: 36  
 Start.main(String[]) line: 7   

我不明白为什么我也被要求调试GUI构造函数......这对我来说似乎完全正常。

1 个答案:

答案 0 :(得分:0)

您的图片位置不合适! (忽略其他类,它只是一个测试项目^^)

enter image description here

在你的eclipse项目中创建一个文件夹,但不要在你的SOURCE目录(!!!)中,然后参考这样的图像:

Image img1 = Toolkit.getDefaultToolkit().getImage("img/index.png");