重複の可能性:
この NullPointerException を回避する方法
実は以前にこの質問をしたのですが、編集しなければなりませんでした。その後誰も答えなかったので手遅れだったと思います。
私は小さなアーケード ビデオ ゲームに取り組んでおり、アニメーションを改善するためにダブル バッファを探しています。空白の画像を描画するクラスと、単純な線を描画するクラスがあります。ただし、線が描画されるはずの行で 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
}
}
null の Graphics 変数 dbg だと思いますが、この NullPointerException を修正するにdbImage.getGraphics();
はgameRender();
どうすればよいですか?
このような別のクラスで draw() メソッドも呼び出しています
public void run() {
running = true;
while( running ) {
mc.draw();
try {
Thread.sleep( 50 );
}
catch( Exception e ) {}
}
}
そのクラスのコンストラクターで、mc = new MC(); と言いました。