我刚刚开始使用JavaFX并在SceneBuilder中创建了一个简单的gui,并且可以使大部分功能与WebView分开。
在我的FXML代码中,我有:
<WebView id="webComponent" prefHeight="200.0" prefWidth="200.0" />
然后在我的控制器类中,我按下按钮时运行以下代码:
webComponent.getEngine().load("http://google.com/");
当我按下按钮时尝试运行程序时,它首先将一个字符串打印到控制台(我将其编程为执行此操作),但随后抛出空指针异常并且WebView保持空白。
有人可能会对此有所了解,因为此刻我已经难过了。
由于
答案 0 :(得分:2)
如果您正在处理FXML文件,并且想要在Controller
课程中使用@FXML带注释的组件,则需要提供fx:id
的ID。
在你的情况下:
<WebView fx:id="webComponent" prefHeight="200.0" prefWidth="200.0" />
通常,id
用于CSS设置。
查看文档here。