JavaFX WebView:HTML从资源文件夹加载css / images

时间:2016-05-11 06:35:34

标签: javafx webview

我正在使用JavaFX WebView来显示HTML帮助:

import javafx.scene.layout.BorderPane;
import javafx.scene.web.WebEngine;
import javafx.scene.web.WebView;

import java.net.URL;

public final class HelpPane extends BorderPane {

    private static final String HELP_RESOURCE_NAME = "/help/main.html";

    public HelpPane() {
        WebView webView = new WebView();
        WebEngine webEngine = webView.getEngine();
        URL url = HelpPane.class.getResource(HELP_RESOURCE_NAME);
        webEngine.load(url.toExternalForm());

        setCenter(webView);
    }

}

main.htmlstyle.css和各种图片都位于help内的resources文件夹中:

enter image description here

main.html开始,我使用相对链接加载CSS和图片:

<html>
<head>
    <meta charset="utf-8"/>
    <link rel="stylesheet" href="style.css"/>
</head>
<body>
<h1>Help</h1>

<img src="img/main-vs-side-panels.png" width="600px"/>

</body>
</html>

一切都在OSX上完美运行(从IDE和jar启动时)。 在Windows上,从jar启动时,CSS和img链接不再被解析(从IDE启动工作正常)。

是否有更好的更强大的方式来链接资源?

1 个答案:

答案 0 :(得分:0)

原来这是由实际的错误引起的。使用最新的JRE 1.8.0_92,一切正常。