Можно создать дубликат:
How to avoid this NullPointerExceptionNullPointerException Избежание
Я на самом деле задал этот вопрос раньше, но я должен был изменить его, и я думаю, что я был слишком поздно, потому что никто не ответил после этой точки ,
Я работаю над маленькой аркадной видеоигрой, и я ищу двойной буфер для улучшения анимации. У меня есть один класс, который должен нарисовать пустое изображение, и еще один класс, который должен нарисовать простую строку. Тем не менее, я постоянно получаю 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 ?
Я также вызов метода Жеребьевка() в другом классе, как этот
public void run() {
running = true;
while(running) {
mc.draw();
try {
Thread.sleep(50);
}
catch(Exception e) {}
}
}
Я сказал в конструктор этого класса, что тс = новый MC();
Опубликовать трассировку стека ... – m0skit0
У вас уже есть хорошие ответы на ваш вопрос. Зачем спрашивать другого? – gobernador
http://stackoverflow.com/questions/11263199/how-to-avoid-this-nullpointerexception – kullalok