1

Java でゲームを一緒にハックしようとしていますが、ダウンロードしたカスタム フォントを開始画面で使用しました。Eclipse からプログラムを実行すると、画面は次のようになります (本来あるべき姿)。 かわいいフォント。

ただし、コンパイルされた jar からプログラムを実行すると、画面は次のようになります。 ワット

フォントをロードするための私のコードは次のとおりです。

title = new JLabel("philip k. dick"); // font requires all lowercase
try {
    Font f = Font.createFont(Font.TRUETYPE_FONT, new File(Util.getFile("all used up.ttf")));
    title.setFont(new Font(f.getName(), f.getStyle(), 150));
} catch (Exception e) {
    e.printStackTrace();
    Font oldFont = title.getFont();
    title.setFont(new Font(oldFont.getName(), oldFont.getStyle(), 100));
}

このメソッドUtil.getFileは、指定された の先頭に「resources/」を追加するだけStringです。

コマンド ラインから jar を実行しても、エラーは発生しません。「リソース」フォルダーの名前を変更すると(アクセスを防ぐため)、画面が次のようになるため、プログラムがフォントリソースにアクセスできることはわかっています。 予想通り。

さらに、次のエラーが表示されます。

java.io.IOException: Can't read resources/all used up.ttf

もちろん、これは想定内です。

また、同じ場所から他のオーディオ リソースと画像リソースが読み込まれていることにも注意してください。これらは正常に動作します。この場所は、jar のすぐ外側のフォルダーにあります。また、Mac を使用していますが、Windows でも同じ問題が発生します。

4

1 に答える 1