public void paintComponent(Graphics g) {
Image frstWinBackg = new ImageIcon("new.jpg").getImage();
g.drawImage(frstWinBackg, 0, 0, getWidth(), getHeight(), this);
}
上記のコードで画像ファイルをJPanelという名前で描画しています。プロジェクトの実行可能なjarファイルを作成するときに、そのイメージファイルを同じフォルダに保存する必要があります。私はjarファイルと一緒に画像ファイルを提供することは良い考えではないと思うので、この画像ファイルをjarファイル内に圧縮する方法はありますか?jarファイルの外に同じフォルダ内に画像を保存したくない場合
いいえ、あなたは、同じフォルダ内の画像ファイルを保存する必要はありません。好きな場所に置いておくことができます。たとえば、JARファイルの中に置くことができます。あなたが何を求めているのか不明です。 – EJP
jarファイルを実行すると、イメージは表示されません。しかし、イメージファイルをjarファイルと同じフォルダに保存すると、このイメージはバックグラウンドとして表示されます。しかし、もし私がjarファイルを実行すると、画像は同じフォルダーに保存されずに背景として表示されます。 –
"jarファイルを実行すると、イメージは表示されません。"はい、.jarファイル内のエントリが別のファイルではないためです。代わりに 'ImageIO.read(getClass()。getResource(" new.jpg "))'を使用してください。あなたのコンストラクタで*一度それを読んでください。 paintComponentメソッドは、毎秒何回も呼び出すことができます*塗装するたびにファイルを読み込むと、パフォーマンスに顕著な影響があります。 – VGR