请原谅我对 Java Webstart 的有限理解,因为我对此很陌生。
所以我让我的应用程序在我的计算机上的一个 JAR 文件中工作,在静态方法中使用这个片段(类扩展 JFrame):
ImageIcon image = new javax.swing.ImageIcon(window.getClass().getResource("/resources/img/loginWindowTop.jpg"));
//ImageIcon image = new ImageIcon(window.getClass().getResource("/resources/img/loginWindowTop.jpg")); // tried this too
JLabel imageLabel = new JLabel(image);
imageLabel.setBounds(rect);
window.add(imageLabel);
当直接从 JAR 文件在我的计算机上启动应用程序时,它可以工作。当使用 JNLP 文件从 Web 服务器进行测试时,应用程序崩溃并显示以下内容:
java.lang.NullPointerException
at javax.swing.ImageIcon.<init>(Unknown Source)
at gui.LoginWindow.create(LoginWindow.java:42)
at main.Starter.main(Starter.java:13)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.sun.javaws.Launcher.executeApplication(Unknown Source)
at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
at com.sun.javaws.Launcher.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
如果有人能解释该怎么做,我将不胜感激。我在互联网上搜索了很长时间,但没有解决方案可以帮助我(还)。我希望这不是因为我正在使用静态 JFrame(在我的代码片段中称为窗口)?