了解drawImage()

时间:2016-03-26 22:27:12

标签: java graphics

我使用drawImage(BufferedImage,int,int,null)进行绘图时遇到了麻烦。我总是得到drawImage行的NullPointerException,即使我确定我的BufferedImage输入存在并且实际上是BufferedImage。我的代码如下,我保证Area的getTerrainAsset()方法将返回一个BufferedImage。

import javax.swing.JFrame;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.image.*;

public class CastleDefense {

   public static void main(String[] args) {
    new CastleDefense();
  }
  public CastleDefense() {
    Area area = new Area();
    JFrame frame = new JFrame("Castle Defense");
    frame.setSize(300, 500);
    Graphics g = area.getGraphics();
    g.drawImage(area.myArea[0][0].getTerrainAsset(), 10, 10, null);
    frame.setVisible(true);
    frame.add(area);
  }
 }

在其他使用Graphics的代码中,有一个paintComponent(Graphics)方法,它包含drawImage行和super.paintComponent(Graphics)行,但paintComponent(Graphics)方法本身是从未在主方法中调用过。我不明白这是如何运作的。

0 个答案:

没有答案