jarファイルにおけるイメージの読み込み

eclipseからの実行ではClassLoaderは必要ないが
実行ファイル(jar)にすると画像が読めなくなる。
ClassLoaderを使用する必要がある。

try {
    ClassLoader cl = this.getClass().getClassLoader();
    stone[STONE_WHITE] = ImageIO.read(cl.getResource("img/isi_white.png"));
    stone[STONE_BLACK] = ImageIO.read(cl.getResource("img/isi_black.png"));
} catch (Exception e) {
}

ソースファイルが置いてある場所からの参照。

    // × "./" をつけても駄目
    stone[STONE_BLACK] = ImageIO.read(cl.getResource("./img/isi_black.png"));