在WebView中加载HTML文件

在WebView中加载HTML文件

本文介绍了JavaFX资源处理:在WebView中加载HTML文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在我的JavaFX应用程序的 WebView 中加载HTML文件。该文件位于我的项目目录中,在 webviewsample 包中。

I want to load an HTMLfile in the WebView of my JavaFX application. The file is located in my project directory, inside webviewsample package.

我使用了以下代码:

public void start(Stage primaryStage) throws Exception {
    primaryStage.setTitle("WebView test");

    WebView  browser = new WebView();
    WebEngine engine = browser.getEngine();
    String url = WebViewSample.class.getResource("/map.html").toExternalForm();
    engine.load(url);

    StackPane sp = new StackPane();
    sp.getChildren().add(browser);

    Scene root = new Scene(sp);

    primaryStage.setScene(root);
    primaryStage.show();
}

但它抛出一个例外说:


推荐答案

你得到这个例外是因为你的 url 变量在这一行是空的:

You get this exception because your url variable is null on this line:

String url = WebViewSample.class.getResource("/map.html").toExternalForm();






你有几个选项 getResource()

如果资源与类的目录相同,那么您可以使用

If the resource is the same directory as the class, then you can use

String url = WebViewSample.class.getResource("map.html").toExternalForm();

使用开头斜杠(/)表示项目根目录的相对路径。

在您的特定情况下,如果资源存储在 webviewsample 包中,您可以获得资源为:

In your particular case, if the resource is stored in the webviewsample package, you can get the resource as:

String url = WebViewSample.class.getResource("/webviewsample/map.html").toExternalForm();

使用开头点斜杠(./)表示路径的相对路径该类

想象一下,你的rclass存储在包 webviewsample 和你的资源( map.html )存储在子目录 res 中。您可以使用此命令获取URL:

Imagine that you rclass is stored in package webviewsample, and your resource (map.html) is stored in a subdirectory res. You can use this command to get the URL:

String url = WebViewSample.class.getResource("./res/map.html").toExternalForm();

基于此,如果您的资源与您的类在同一目录中,则:

Based on this, if your resource is in the same directory with your class, then:

String url = WebViewSample.class.getResource("map.html").toExternalForm();

String url = WebViewSample.class.getResource("./map.html").toExternalForm();

等价。

进一步阅读你可以查看的文档。

For further reading you can check the documentation of getResource().

这篇关于JavaFX资源处理:在WebView中加载HTML文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-01 02:52