0

ここに画像の説明を入力してください

Eclipseで[再生]をクリックするとプロジェクトは正常に実行されますが、実行可能なJARファイルImageIconを作成すると、ボタンのボタンが消えます。
画像は、サブフォルダの画像の下にあるsrcフォルダに保存されます。
画像アイコンを次のように作成しました

  • アイコンplayIcon=(Icon)new ImageIcon( "src / images / play.png");
  • 相対パスを使用していますが、ボタンに画像が表示されません。JARファイルでも画像を取得するにはどうすればよいですか。



    ニコライ・クズネツォフの回答後に更新

    私はスクリーンレコーダー用の非常に構造化されていないモノリシックコードを作成することになり、今では彼の言ったことを実装するのが少し難しいです。
    これらすべてのリソースを含むクラスまたはインターフェースを作成するような方法があるかどうか疑問に思いました。

  • 例えば:
  • public class embeddedResources {
        public static Icon blackCursor;
        public static Icon whiteCursor;
        ...
        ...
    }  
    

    次に、これらの統計をインポートし、メインScreenRecorderクラスに インポートするだけです。

    this.blackCursor = embeddedResources.blackCorsor;
    
    4

    2 に答える 2

    3

    私も同じ問題を抱えていました。JARファイルを作成し、画像をexternフォルダーに追加してみてください。したがって、このフォルダには「Game」というフォルダがあります。これは、「images」などと呼ばれる画像とjarファイルのフォルダです。ここでフォルダパスを「../images/play.png」に編集すると、機能するはずです。

    于 2012-12-24T15:37:24.040 に答える
    3

    このメソッドを使用してBufferedImage、IconManagerが定義されているクラスである画像を読み込みます。

    private static BufferedImage readBufferedImage (String imagePath) {
        try {
            InputStream is = IconManager.class.getClassLoader().getResourceAsStream(imagePath);
            BufferedImage bimage = ImageIO.read(is);
            is.close();
            return bimage;
        } catch (Exception e) {
            return null;
        }
    }
    
    于 2012-12-24T15:41:09.450 に答える