0

我在网上找到了这个破砖游戏的 java 源代码。我下载了它并尝试运行它,但它给了我一个 NullPointerException。是什么导致了这个异常,我该如何解决?谢谢。

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

这是堆栈跟踪:

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)

显然这段代码应该可以工作,但事实并非如此。

4

1 回答 1

5

您可能也没有下载图像,或者至少没有将它们放在正确的文件夹中。确保将图像放在这里:

浏览到 Ball.java,向上两层文件夹,在其中创建一个名为 images 的文件夹并将您的图像放在那里。

于 2012-04-16T19:05:44.640 回答