Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
正在尝试将本地页面加载到JavaFX webEngine中_Java_User Interface_Javafx_Webview - Fatal编程技术网

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

正在尝试将本地页面加载到JavaFX webEngine中,java,user-interface,javafx,webview,Java,User Interface,Javafx,Webview,我在JavaFX应用程序的选项卡上有一个webView组件,我正试图将本地存储的HTML页面加载到该选项卡中: WebView browser = new WebView(); WebEngine webEngine = browser.getEngine(); webEngine.load("/webView/main.html"); 我的html文档(可能不正确)存储在以下位置: 其中com.cds.gui包含我试图加载文件的类。如果我打印出webEngine.getDocument()

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

WebView browser = new WebView();
WebEngine webEngine = browser.getEngine();
webEngine.load("/webView/main.html");
我的html文档(可能不正确)存储在以下位置:

其中com.cds.gui包含我试图加载文件的类。如果我打印出
webEngine.getDocument()
我会得到
null
——也就是说,文档没有被加载


请告诉我哪里出了问题!谢谢。

您需要将本地文件作为URL读入,以便Web引擎可以找到它。例如,您可以使用

URL url = this.getClass().getResource("/com/cds/gui/webView/main.html");
webEngine.load(url.toString());
或者,您可以将实际字符串路径加载到文件对象中,并使用它获取字符串URL

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

希望这有帮助

您可以使用URI的文件语法,例如

file:///C:/path/to/file.html (Windows)

文件路径长期困扰着我,这对我很有效(Maven项目,文件夹资源):


感谢您的回答,我尝试将文件作为URL读取,但仍然出现空指针异常?您是否确实看到WebView本身加载的任何内容?没有,HTML页面本身中只有段落标记内的文本“123abc”。您希望打印文档对象,通常需要更长的时间才能获得值集。您可以在引擎的documentProperty上添加一个ChangeListener,当文档值从null更改为对象实例时,它会通知您。此外,如果您还没有这样做,请尝试将包名用作文件路径的一部分。如下所示:getResource(“/com/cds/gui/webView/main.html”);由于该应用程序将部署在许多不同的系统上,因此根据我所了解的情况,这并不是一个真正的选项。但是,如果有办法获取类的当前位置(因为文件包含在当前项目的文件夹中),请让我知道!!也许是这样的:我正在尝试
stringurl=Main.class.getResource(“/webview/Main.html”).toExternalForm()时,我收到一个空指针异常。不必这样做,但从类路径的根目录尝试:/com/cds/gui/webView/main.html。请注意“webView”中的大写字母V(根据上面的结构)。假设此代码位于
com.cds.gui
包中的一个类中,请尝试
webEngine.load(getClass().getResource(“webView/main.html”).toExternalForm()(注意路径上没有任何前导的
/
。@James\u D这正是我要找的,谢谢!您应该将此作为实际回复发布。:)@拉普蒂湖
WebEngine engine = html.getEngine();
            File f = new File(getClass().getClassLoader().getResource("html/about.htm").getFile());
            engine.load(f.toURI().toString());