私はこれに非常に慣れていないので、JavaWebstartについての私の限られた理解を許してください。
そこで、静的メソッドでこのスニペットを使用して、コンピューター上の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(スニペットではウィンドウと呼ばれます)を使用しているからではないことを願っていますか?