Загрузить изображение из пути к файлу через BufferedImage

У меня проблема с Java-приложением, особенно при загрузке изображения из моего компьютера.

Следующийэта почта Я использовалBufferedImage иInputFileStream загрузить изображение на мой компьютер. Сначала я ставлю изображение (pic2.jpg) в исходный код, и это работает. Однако, если я положу изображение в другое место (скажем,C:\\ImageTest\pic2.jpg), Java IDE покажи мнеIllegalArgumentException

return ImageIO.read(in);

вот код:

public class MiddlePanel extends JPanel {
    private BufferedImage img;

    public MiddlePanel(int width) {    
        //img = getImage("pic2.jpg");       
        img = getImage("C:\\ImageTest\\pic2.jpg");

        this.setPreferredSize(new Dimension(800,460));

    }

    public void paintComponent(Graphics g) {
        // ...
    }

    private BufferedImage getImage(String filename) {
        // This time, you can use an InputStream to load
        try {
            // Grab the InputStream for the image.                    
            InputStream in = getClass().getResourceAsStream(filename);

            // Then read it.
            return ImageIO.read(in);
        } catch (IOException e) {
            System.out.println("The image was not loaded.");
            //System.exit(1);
        }

        return null;
    }
}

Ответы на вопрос(5)

Ваш ответ на вопрос