0

我正在尝试加载位于我的资产文件夹中的 html 页面。

我可以使用此代码加载在线 html 网页(例如: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.html适用于 android,但由于它包含android_assets我认为它不会在非 android 上运行。

非常感谢你!

编辑:假设我可以在我的 jar 文件中(在我的项目文件夹中)有一个文件夹,称为:资产(http://s24.postimg.org/p02ju9xip/Knipsel.jpg?noCache=1370175365

4

1 回答 1

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

如果资产文件夹确实在 jar 中,则应该这样做。从您发布的图像来看,它不是,因为资产不在项目的任何源文件夹中。Eclipse 的运行时类路径由项目构建路径中的所有 jars 以及放置已编译类和源目录中所有资源的目标目录组成。如果您不将 assets 文件夹放在源目录中,Eclipse 不会使其成为运行时类路径的一部分。

于 2013-06-02T12:17:59.333 回答