1

Eclipse の相対ファイル パスに厄介な問題があります。修正方法についてはすでに多くの投稿を見てきましたが、何もうまくいきません。

私のディレクトリ構造は次のとおりです。

ここに画像の説明を入力

C.java II の内部では、NotSet_16x16.png への相対パスを示したい

 ip_address_image_label.setIcon (new ImageIcon ("<relativePath>\\NotSet_16x16.png"));
4

4 に答える 4

1

通常、コード内のファイルはリソースとして使用されます。コンパイル後、それらはクラスファイルになり、最終的にファイルになり.jarます。

そのため、データをbyte[]Cクラスからリソースとして読み取り、コンストラクターを使用ImageIcon(byte[])してイメージを作成します。


または、リソースへの URL を使用して読み取ることができる中間イメージを使用して、アイコンを作成することもできます。これは、バッファへの読み込みに煩わされる必要がないため、おそらくより適切です。InputStreambyte[]


これらの方法のいずれかを使用する場合は、単純にファイルの名前を直接使用できることに注意してください (クラス ファイルとイメージは同じパッケージにあるため)。パスを指定する必要はありません。

于 2013-10-15T23:30:21.647 に答える