【发布时间】:2015-11-24 23:42:48
【问题描述】:
我正在尝试部署 Java 小程序。当我在 Eclipse 小程序查看器中运行它时,它可以正常加载(尽管它不响应键盘命令——这是稍后的问题)。将其导出到 JAR 并尝试在浏览器中运行后,它总是在其中一个类的这一行上给出 NullPointerException:
private static final ImageIcon NULL_IMAGE = new ImageIcon((new Object()).getClass().getResource("/tiles/blank.png"));
我尝试将这个类的第一次使用从 init() 转移到 start() 而没有改变。在终端窗口中运行“jar -tf applettest.jar”确认 /tiles/blank.png 确实存在于 JAR 中。 那么在导出这个 JAR 时我会错过什么?我应该忘记小程序版本并使用 JNLP 吗?
【问题讨论】:
-
“我应该忘记小程序版本并使用 JNLP 吗?” - 这通常是个好主意,但可能无法解决手头的问题。至于小程序不响应按键,这是
KeyListener的通病,通过Key Bindings API解决了 -
您是否尝试过使用
new ImageIcon(YourClass.class.getResource("/tiles/blank.png"));? -
使用 TheClass.class 似乎可以解决图像问题……或者至少,给我一个不同的错误,这一次说它无法连接到服务器数据库。关于关键问题,我使用的是键绑定,而不是 KeyListeners。我应该注意到有一个独立版本没有任何问题,至少在从 Eclipse 运行时。我想我会尝试使用 JNLP 进行部署。
-
啊,好吧,我猜第二个问题与问题无关,但我建议这是一个与小程序安全限制严格的问题,猜测
标签: java swing jar embedded-resource japplet