public class DisplayImage extends Panel {
BufferedImage bImg;
static int i = 0;
public ShowImage() {
try {
bImg = ImageIO.read(new File("C:/DesktopPics/pic.jpg"));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void paint(Graphics g) {
g.drawImage(bImg, 0, 0, null);
}
public static void main(String[] args) {
JFrame frame = new JFrame();
Panel panel = new DisplayImage();
frame.getContentPane().add(panel);
frame.setSize(500, 500);
frame.setVisible(true);
}
}
Хорошо, я получил приведенный выше код, который, откровенно говоря, прекрасно работает, ОДНАКО, я собирался поместить кучу картинок в массив BufferedImage и нарисовать их одну за другой.Это прекрасно работает, если я создаю несколько BufferedImages, но когда я делаю это:
BufferedImage[] bImg;
и позже инициализирую его следующим образом
bImg[0] = ImageIO.read(new File("C:/DesktopPics/pic.jpg"));
Это дает мне такую ошибку:
Exception in thread "main" java.lang.NullPointerException
at ShowImage.<init>(ShowImage.java:17)
at ShowImage.main(ShowImage.java:31)
Я пытался использовать ArrayList, List, даже HashSet, но он не позволил мне создать какой-либо массив / коллекцию для BufferedImage.Почему это?И если это невозможно, есть ли другой способ сохранить коллекцию изображений и отобразить их без получения этих ошибок?