1

私はこの問題を解決しようとしています。さまざまな解決策を試しましたが、何も機能しません。NetBeansIDEを使用しています。この構造とファイルを使用してプロジェクトを作成しました。

E:\ java \ project \ ecadpb \ src \ ecadpb

画像ファイルは

E:\ java \ project \ ecadpb \ src \

Netbeansでのプロジェクトの作業フォルダを次のように指定しましたE:\java\project\ecadpb

このような画像アイコンを作成しました

new ImageIcon("device21.png");

ソースファイルでは、Netbeansでプロジェクトを実行している間は完全に機能しますが、JARファイルを個別にビルドして実行するとイメージが表示されません。ただし、画像ファイルはJAR内にあります。

私は以前に尋ねられた同じ質問に対する答えも試しました。

URL imageUrl=getClass().getResource("device21.png");
new ImageIcon(imageUrl);

しかし、私の場合は機能しません。初めてJARファイルを作成しています。誰かがこれを手伝ってくれますか!

4

4 に答える 4

3

これを行う簡単な方法は、クラスパスに画像を追加するか、クラスパスに次のようにディレクトリを追加することimgです。

E:\java\project\ecadpb\src\main\java\img\device21.png 

次に、次のようにこの場所から画像を読み込みます。

ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
URL resource = classLoader.getResource("img/device21.png");
ImageIcon icon = new ImageIcon(resource);
于 2012-04-20T21:51:36.513 に答える
1

Imagesという名前のソースフォルダーを作成します(つまり、Eclipseを使用している場合は、プロジェクトを右クリック->新規-> sourceFolder)。好きなように呼んでください。私は自分の画像と呼んでいます。その中にいくつかの画像を入れてください。

今、私はそれらにImageIconsを与えたJLabelsを持っていました。次のコードを見てください。

    ImageIcon BPawn;
    ImageIcon WPawn;
    JLabel Label = new JLabel[8][8] //2D array of labels that gives each spot a position.
    public void setPieces(){
        //set up pawns in their respective positions.
        BPawn = new ImageIcon("Images/BPawn.png", "BPawn");
        WPawn = new ImageIcon("Images/WPawn.png", "WPawn");
    for(int i=0;i<Label[0].length;i++){
        Label[1][i].setIcon(BPawn);
        Label[6][i].setIcon(WPawn);
    }//end for

    }//end setPieces.

setPieces()メソッドにはさらに多くの機能がありますが、実行可能jarを作成して画像を表示するときに、ソースフォルダー内の画像を参照する方法を簡単に説明します。

于 2015-05-01T03:37:07.533 に答える
0

答えはここでのこれらの提案の1つである可能性があると思います

于 2012-04-20T21:24:32.117 に答える
0

私も同様のアプローチを使用しましたが、

a)イメージファイル名へのパッケージパスを指定します。

b)イメージファイルがビルドスクリプトによって省略されていないこと、およびjarファイルに存在していることを確認してください。

于 2012-04-20T21:34:43.463 に答える