初始化使用 SceneBuilder 创建的 WebView

Initializing a WebView created using SceneBuilder

我刚刚开始使用 JavaFX,并在 SceneBuilder 中创建了一个简单的图形用户界面,并且可以让大多数功能在 WebView 之外工作。

在我的 FXML 代码中有:

<WebView id="webComponent" prefHeight="200.0" prefWidth="200.0" />

然后在我的控制器中 class 当按下按钮时,我有以下代码 运行:

webComponent.getEngine().load("http://google.com/");

当我按下按钮时尝试 运行 程序时,它首先将字符串打印到控制台(我对其进行编程以执行此操作),但随后抛出空指针异常并且 WebView 仍然存在空白。

有人能解释一下吗,因为我现在很困惑。

谢谢

如果您正在处理 FXML 文件,并且想在 Controller class 中使用带有 @FXML 注释的组件,您需要提供一个带有 fx:id 的 ID。

你的情况:

<WebView fx:id="webComponent" prefHeight="200.0" prefWidth="200.0" />

通常,id 用于 CSS 设置。

查看文档 here