私はswingguiを使用してJavaで学校用の魚雷ゲームを作成しています。zip形式のソースはこちらをご覧ください。
/ bin / resource / graphics / defaultフォルダーのサブフォルダーに保存されている画像のカスタムボタンアイコンとマウスカーソルを使用します。ルートフォルダーはプログラムのルートフォルダーです(これは、最終的な.jarのルートにもなります)。 「bin」とは別に、すべてのクラスを含む「main」フォルダが含まれています。リソースの相対パスは、MapStruct.javaのshipPath変数とmapPath変数に格納されます。これで、Battlefield.javaのPutPanelクラスはそれらを正常に検出し、ボタンのアイコンを正常に設定しますが、他のすべてのクラスはアイコンを取得できません。たとえば、Table.javaのsetCursorは、選択した船の画像のすべての要素にマウスカーソルを設定する必要があります。またはField.javaのthis.button.setIcon(icon); コンストラクターで、「水」のボタンのアイコンを設定する必要があります。
パスが正しいように見えますが、デバッグで何が起こるかを監視しました。ロード後も画像はnullのままです。また、画像フォルダにテストファイルを書き込もうとしましたが、このメソッドはfilenotfound例外を返します。クラスのパスを取得して、想定された場所から実行されているかどうかを確認しようとしましたが、実行されているように見えるため、現在、問題を見つけることができません。
誰か助けてくれませんか?ありがとうございました。