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這個偉大的工程,但是當我這樣做: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創建任何類型的Array/Collection。爲什麼是這樣?如果這是不可能的,是否有另一種方式來存儲圖像集合並顯示它們而不會出現這些錯誤?
感謝的人,我想我不小心做了,我的意思是使用的JPanel,而不是面板,但最終這樣做,反正出於某種原因,我馬上改變它。除此之外,我正要刺傷自己忘記初始化變量,我怎麼可能忘記了這一點,我一定非常疲憊,但是非常感謝! – ZimZim 2012-03-04 21:01:42
不客氣! – 2012-03-04 22:42:36