我工作的一小街机游戏机,我期待双重缓冲以提高动画。 我有一个是应该汲取的空白图像一类,并应该画一个简单的线条另一个类。 不过,我不断收到就行了NullPointerException异常,其中线应该绘制
class Render extends JPanel {
public int dbWidth = 500, dbHeight = 400;
public Image dbImage = null;
public Graphics dbg;
public void gameRender() {
if( dbImage == null )
dbImage = createImage( dbWidth, dbHeight );
dbg = dbImage.getGraphics();
dbg.setColor( Color.white );
dbg.fillRect( 0, 0, dbWidth, dbHeight );
}
}
class MC extends Render {
public Render render = new Render();
public void draw() {
render.gameRender();
dbg.drawLine( 100, 100, 200, 200 ); // line where NullPointerException occurs
}
}
我想这是图形变量DBG这是空的,但它得到的值dbImage.getGraphics();
在gameRender();
我怎么能解决这个NullPointerException异常?
我还呼吁在这样的另一个类的draw()方法
public void run() {
running = true;
while( running ) {
mc.draw();
try {
Thread.sleep( 50 );
}
catch( Exception e ) {}
}
}
我在类的构造函数表示,设定MC = MC新();