在JFrame java app中找不到资源

时间:2014-05-20 14:26:09

标签: java image swing jframe embedded-resource

我目前正在使用JFrama构建一个小型Java游戏。我有一些外星人跌倒,他们都是图像,他们正确加载。现在我想为播放器放置图像,但是当我这样做时,我的整个项目都烧毁了。我得到像这样的例外

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at gamepackage.Game.draw(Game.java:50)
    at gamepackage.Game.paint(Game.java:45)
    at javax.swing.RepaintManager$3.run(Unknown Source)
    at javax.swing.RepaintManager$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
    at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
    at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
    at javax.swing.RepaintManager.prePaintDirtyRegions(Unknown Source)
    at javax.swing.RepaintManager.access$1100(Unknown Source)
    at javax.swing.RepaintManager$ProcessingRunnable.run(Unknown Source)
    at java.awt.event.InvocationEvent.dispatch(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$200(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)

我试图找出问题所在,我最终到了这里 ImageIcon ii = new ImageIcon(this.getClass().getResource(player));

playerprivate String player = "../img/player_64.png";

外星人的图像以相同的方式加载,两张图片的方向相同。所以我尝试了很多东西但到目前为止没有任何效果。

1 个答案:

答案 0 :(得分:1)

如果你看一下getResource()的规范:

  

返回:一个URL对象,如果没有找到具有此名称的资源,则返回null

您应该打印此方法返回的URL对象。可能是空的,这意味着你的路径不正确。