尝试将本地页面加载到JavaFX webEngine中

Tom*_*kes 8 java user-interface javafx webview

我在JavaFX应用程序的选项卡上有一个webView组件,我试图将本地存储的HTML页面加载到:

WebView browser = new WebView();
WebEngine webEngine = browser.getEngine();
webEngine.load("/webView/main.html");
Run Code Online (Sandbox Code Playgroud)

我的html文档(可能不正确)存储在以下位置:

我的HTML文档的位置

其中com.cds.gui包含我尝试加载文件的类.如果我打印出来,webEngine.getDocument()我得到null- 即文件没有被加载.

请让我知道我哪里出错了!谢谢.

Mar*_*ian 19

您需要以URL的形式读取本地文件,以便WebEngine可以找到它.例如,您可以使用找到该文件作为资源

URL url = this.getClass().getResource("/com/cds/gui/webView/main.html");
webEngine.load(url.toString());
Run Code Online (Sandbox Code Playgroud)

或者,您可以将实际的String路径加载到File对象中,并使用它来获取String URL.

File f = new File("full\\path\\to\\webView\\main.html");
webEngine.load(f.toURI().toString());
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助!