2012-04-16 4 views
0

Я нашел этот исходный код java для игры на кирпичном выключателе онлайн. Я загрузил его и попытался запустить его, но он дает мне исключение NullPointerException. Что дает это исключение и как его исправить? Благодарю.Java-игра не работает

http://zetcode.com/tutorials/javagamestutorial/breakout/

Вот StackTrace:

Exception in thread "main" java.lang.NullPointerException 
    at javax.swing.ImageIcon.<init>(ImageIcon.java:181) 
    at Ball.<init>(Ball.java:16) 
    at Board.gameInit(Board.java:48) 
    at Board.addNotify(Board.java:43) 
    at java.awt.Container.addNotify(Container.java:2578) 
    at javax.swing.JComponent.addNotify(JComponent.java:4685) 
    at java.awt.Container.addNotify(Container.java:2578) 
    at javax.swing.JComponent.addNotify(JComponent.java:4685) 
    at java.awt.Container.addNotify(Container.java:2578) 
    at javax.swing.JComponent.addNotify(JComponent.java:4685) 
    at javax.swing.JRootPane.addNotify(JRootPane.java:739) 
    at java.awt.Container.addNotify(Container.java:2578) 
    at java.awt.Window.addNotify(Window.java:663) 
    at java.awt.Frame.addNotify(Frame.java:470) 
    at java.awt.Window.show(Window.java:859) 
    at java.awt.Component.show(Component.java:1584) 
    at java.awt.Component.setVisible(Component.java:1536) 
    at java.awt.Window.setVisible(Window.java:842) 
    at Breakout.<init>(Breakout.java:14) 
    at Breakout.main(Breakout.java:18) 
Exception in thread "Timer-0" java.lang.NullPointerException 
    at Board$ScheduleTask.run(Board.java:110) 
    at java.util.TimerThread.mainLoop(Timer.java:512) 
    at java.util.TimerThread.run(Timer.java:462) 

Видимо этот код должен работать, но это не так.

+0

Какую версию java вы используете для компиляции игры?, Догрузите последнюю версию. – DGomez

+0

@DGomez. Выход исключения не указывает на несоответствие версии. См. Ответ. –

ответ

5

Возможно, вы также не загрузили изображения, или, по крайней мере, не поместили их в нужную папку. Убедитесь, что вы помещаете изображения здесь:

Просмотрите Ball.java, перейдите на два уровня папок вверх, создайте там папку с изображениями и поместите туда свои изображения.

+0

Извините, что не уточнил. У меня есть файлы изображений в нужном месте. – dudewhat14

+0

Я уверен, что вы этого не сделаете. В противном случае Class.getResource() не вернет значение null. –

+0

У меня было два "." вместо одного для моих файлов. Вот что это испортило. У меня были изображения в той же папке, что и файлы классов. Теперь я работаю. Спасибо. – dudewhat14

Смежные вопросы