我对 BufferedImage 和 JPanel 有一点问题。我正在创建一个带有一些 2d 动画的游戏。
基本上我有一个动画处理程序,它将遍历图片,并且根据旋转也将正确显示它。但问题是 - 当我加载图片时,我的 Jpanel 不会画任何东西。如果我注释掉自定义绘制方法并不重要——paintComponent 方法不会绘制任何东西,而且它似乎跳过了paintCompontent 方法。即使游戏没有崩溃并且计时器仍在运行 - 它不会在扩展的 JPanel 中使用 paintComponent 方法。
包含计时器的类 - 通过 JPanel.repaint() 调用 JPanel;
这是 loadImg 方法
/**
* Test method to check animationHandler and bufferedImgs
*/
private void loadImages() {
BufferedImage b_1;
BufferedImage b_2;
BufferedImage b_3;
BufferedImage b_4;
BufferedImage b_5;
BufferedImage[] imgs = new BufferedImage[5];
try {
b_1 = ImageIO.read(new File("warlock1.png"));
b_2 = ImageIO.read(new File("warlock2.png"));
b_3 = ImageIO.read(new File("warlock3.png"));
b_4 = ImageIO.read(new File("warlock4.png"));
b_5 = ImageIO.read(new File("warlock5.png"));
imgs[0] = b_1;
imgs[1] = b_2;
imgs[2] = b_3;
imgs[3] = b_4;
imgs[4] = b_5;
animationHandler.addAnimation(imgs);
} catch (Exception e) {
e.printStackTrace();
}
}
干杯!