5

私は今、ややブロックされています: 私は、独自の「ユーザーマニュアル」を持つ非常に複雑な Java デスクトップアプリ (アプレット/Web アプリではありません!) を作成しました。このマニュアルは、一部の HTML ファイルと JPG ファイルで構成されています。このマニュアルは、JEditorPane を使用してアプリケーション内の「ヘルプ メニュー」に表示されます。

ここまでは順調ですね。これは、Eclipse で Programm を起動する限り、非常にうまく機能します。デプロイ バージョンを実行可能な jar (launch4j で .exe にラップされる) として作成するとすぐに、HTML の "Viewer" はユーザー マニュアルを表示できません (画像がありません)。

なぜこれが起こっているのか理解していますが、これを修正/回避する方法がわかりません。

私のアプリケーションは、getClass().getResource() を介してリソース (プロパティ ファイル、アイコンなど) をロードします。例:

this.setIconImage(new ImageIcon(getClass().getResource("/images/dialog-question.png")).getImage());

stream = new BufferedInputStream(MABIUpdater.class.getResourceAsStream("/settings.properties"));

前に言ったように、これは非常にうまく機能します (Eclipse 内からアプリを起動するか、ラップされた実行可能ファイルまたは runnable-jar.

だから私もこのように私のHTML「マニュアル」にアクセスしようとしました:

File manual = new File(getClass().getResource("/manual/help.html").toURI());

jEditorPane.setPage(manual.toURI().toURL());

これは実際には機能しません。Eclipse からプログラムを起動すると、マニュアルが表示されますが、画像がありません。jar/exe 経由で起動すると、空のフレームが表示されます。

これを達成する方法に「トリック」はありますか?そのjar内のリンクされた画像にアクセスできないため、1つの問題はHTMLページ自体にあると思います。動作しない HTML ファイルの非常に小さな例を次に示します (画像がありません)。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<html lang="de">
    <head>
        <title>Manual</title>
    </head>
    <body>
        <h1>Example: </h1>
        <p>fubar</p>
        <img style="display: block; text-align: center;" src="../manual/img/Shot01.png" width="666" height="644" border="0" alt="Bildtext">
        <p><a href=\"http://www.google.com/\">blablubb</a></p>
    </body>
</html>

私の問題が明確で、誰かがアイデアを持っていることを願っています;)。

編集: 必要なすべての HTML ファイルと画像は、JAR ファイル/クラスパスにあります。(これを明確にするためだけに)

4

2 に答える 2