2016年6月22日水曜日

JARファイルに画像を入れる

目次へ



画像をプロジェクト内に保存し、JARファイルにすると画像が表示されません。 いろいろ試して、うまくいったので忘れないように書いておきます。
  • リソースフォルダの作成
  • クラスローダからリソースを取得
  • ECLIPSEの実行構成の設定
  • JARファイルの作成


■■■■リソースフォルダの作成

プロジェクトのフォルダの下にimageというフォルダを作成し、その中に画像ファイルを入れます。srcと同列になります。






■■■■クラスローダからリソースを取得

クラスローダを使って画像を取り入れているのが下のプログラムです。
public class ImageLabel01 extends JFrame {

 JLabel label = new JLabel();

 public ImageLabel01() {
  Image im=null;
  URL url=this.getClass().getClassLoader().
     getResource("image/stream.jpg");
  try {
   im=this.createImage((ImageProducer)url.getContent());
   label.setIcon(new ImageIcon(im));
  }catch(Exception ex){ }

  //ラベルをフレームに乗せフレームを表示
  getContentPane().add(label, BorderLayout.CENTER);
  this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  this.setSize(350, 250);
  this.setVisible(true);
}
 public static void main(String[] args) {
  new ImageLabel01();
 }
}



■■■■ECLIPSEの実行構成の設定■■■■

メニューの[実行]から[実行構成]を選び、次のように設定をします。
[クラスパスのタブ]-[ユーザエントリをクリック]-[拡張ボタンを押す]
-[フォルダの追加にチェックを入れOK]
-[追加するフォルダとしてプロジェクトフォルダを選択しOK]
-[ユーザエントリにプロジェクト名-¥ が追加されていればOK(下の画像)]

これで、実行構成の設定が終わったのでこれで実行すればECLIPSE上で実行する分にはがぞうが表示されるはずです。

ユーザエントリにプロジェクト名-¥ が追加された様子



■■■■JARファイルの作成■■■■

あとは、次のように普通にJARファイルを作成すれば、JARファイルを実行したときにも画像が表示されるはずです。

[プロジェクトで右クリックしエクスポート]
-[Javaの中のJARファイルをクリックし次へボタン]
-[JARにしたいプロジェクトにチェックが入っていることを確認]
-[作成するJARファイルの出力先と名前を指定し次へボタン]
-[次の画面は何もせず次へ]
-[メインメソッドのあるクラスを指定し完了]


これでJARファイルができたらそれをダブルクリックすればちゃんと画像が出ます。


にほんブログ村 IT技術ブログ IT技術メモへ
にほんブログ村