尝试创建BufferedImage时抛出IllegalArgumentException

时间:2016-05-01 05:52:45

标签: java null bufferedimage illegalargumentexception

我想知道为什么在将这段代码从一个Java项目复制并粘贴到另一个Java项目时,我遇到了这个问题,并且没有在第一个项目中遇到任何问题。

我试图显示一个4x4的正方形网格。

第37行引发了以下异常:

  

线程“main”中的异常java.lang.IllegalArgumentException:input == null!

public class DistractorTask {

    private JPanel panel;
    private GridBagConstraints c;
    private BufferedImage squareImage;

    public DistractorTask(JPanel panel){
        this.panel = panel;
        c = new GridBagConstraints();
        displayGrid();

    }

    private void displayGrid() {


        c.gridx = 0;
        c.gridy = 0;

        try {
            squareImage = ImageIO.read(this.getClass().getResource("square.gif"));  //line 37
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        JLabel squareLabel = new JLabel(new ImageIcon(squareImage));

        for(int i = 0; i < 16; i++){
            c.gridx = i % 4;
            c.gridy = i / 4;
            panel.add(squareLabel, c);
            panel.validate();

        }

    }
}

1 个答案:

答案 0 :(得分:0)

您的代码,它正在尝试从类路径加载图像。尝试将imag移动到与编译的DistractorTask.class

相同的文件夹中