Eclipse の相対ファイル パスに厄介な問題があります。修正方法についてはすでに多くの投稿を見てきましたが、何もうまくいきません。
私のディレクトリ構造は次のとおりです。
C.java II の内部では、NotSet_16x16.png への相対パスを示したい
ip_address_image_label.setIcon (new ImageIcon ("<relativePath>\\NotSet_16x16.png"));
Eclipse の相対ファイル パスに厄介な問題があります。修正方法についてはすでに多くの投稿を見てきましたが、何もうまくいきません。
私のディレクトリ構造は次のとおりです。
C.java II の内部では、NotSet_16x16.png への相対パスを示したい
ip_address_image_label.setIcon (new ImageIcon ("<relativePath>\\NotSet_16x16.png"));
通常、コード内のファイルはリソースとして使用されます。コンパイル後、それらはクラスファイルになり、最終的にファイルになり.jar
ます。
そのため、データをbyte[]
C
クラスからリソースとして読み取り、コンストラクターを使用ImageIcon(byte[])
してイメージを作成します。
または、リソースへの URL を使用して読み取ることができる中間イメージを使用して、アイコンを作成することもできます。これは、バッファへの読み込みに煩わされる必要がないため、おそらくより適切です。InputStream
byte[]
これらの方法のいずれかを使用する場合は、単純にファイルの名前を直接使用できることに注意してください (クラス ファイルとイメージは同じパッケージにあるため)。パスを指定する必要はありません。