【覚書】jarファイルで画像などのリソースを扱う方法
JavaでJavaFXなアプリを作っていて、開発環境上(IntelliJ IDEA)で動かしていた時は表示されていた画像(Imageオブジェクト)が、jarを生成して動かすと表示されないという事態に遭遇した。
ググったら割とポピュラーなことらしかった。以下、対処方法。
今までは
image = new Image(Paths.get("hogehoge.png").toUri().toString());
みたいに記述していたところを、
image = new Image(getClass().getResourceAsStream("hogehoge.png"));
と記述し直した。
画像ファイルはソースファイルと同じ場所に置く。
ちなみに、画像ファイルを IntelliJ IDEA の Projectエクスプローラで表示されている src ディレクトリの下に置いた状態で試して「動かない〜!」と悩んでいた。ソースファイルのあるところ、つまりパッケージのディレクトリ下に置かないとダメです。恥ずかしい〜。