0

assets フォルダーにある html ページを読み込もうとしています。

このコードを使用して、オンラインの HTML Web ページ (例: http://google.com ) を読み込むことができます。

    ...
    dtrpnHey = new JEditorPane();
    dtrpnHey.setEditable(false);
    try {
          dtrpnHey.setPage("http://google.com");
        }catch (IOException e) {
            dtrpnHey.setContentType("text/html");
            dtrpnHey.setText("<html>Could not load</html>");
        } 

        JScrollPane scrollPane = new JScrollPane(dtrpnHey);     
        JFrame f = new JFrame("Test HTML");
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.getContentPane().add(scrollPane);
        f.setPreferredSize(new Dimension(800,600));
        f.setVisible(true);
    panel_1.add(dtrpnHey);
            ...

file:///android_asset/mynicehtmlfile.htmlAndroidで動作することは知っていますが、含まれているため、 android_assetsAndroid以外では機能しないと思います。

どうもありがとうございました!

編集: jarファイル内 (プロジェクト フォルダー内) に次のフォルダーを作成できると仮定すると、次のようになります。

4

1 に答える 1

1
editorPane.setPage(SomeClass.class.getResource("/assets/thePage.html"));

assets フォルダーが実際に jar にある場合は、それを行う必要があります。アセットはプロジェクトのソース フォルダー内にないため、投稿した画像からはそうではありません。Eclipse のランタイム クラスパスは、プロジェクトのビルド パス内のすべての jar と、コンパイルされたクラスとソース ディレクトリにあるすべてのリソースを配置するターゲット ディレクトリから構成されます。assets フォルダーをソース ディレクトリに配置しないと、Eclipse はそれをランタイム クラスパスの一部にしません。

于 2013-06-02T12:17:59.333 に答える