我正在一個小型街機視頻遊戲,我正在尋找雙緩衝區來改善動畫。我有一個班級應該畫空白圖像,另一個班級應該畫一條簡單的線條。不過,我一直在這裏行應該可以得出如何避免此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這是空行得到一個NullPointerException異常,但它得到的dbImage.getGraphics();
值在gameRender();
我怎麼能解決這個NullPointerException異常?
我也調用draw()方法在另一類這樣
public void run() {
running = true;
while(running) {
mc.draw();
try {
Thread.sleep(50);
}
catch(Exception e) {}
}
}
我在類的構造函數表示,MC = MC新();
它仍然給了我一個空指針... – kullalok
你是怎麼改變的繼承優勢? –