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配列に入れて、それらを1つずつ描くことでした。私は複数のBufferedImageを作成する場合、これは素晴らしい作品が、私はこれを行うとき:このBufferedImagesの配列にエラーがありますか?
bImg[0] = ImageIO.read(new File("C:/DesktopPics/pic.jpg"));
のようにそれを初期化し
BufferedImage[] bImg;
以降にそれは私に、このエラーを与える:
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
あなたは大歓迎です! –