Emr*_*age 0 java javafx javafx-2 javafx-webengine
当我尝试运行我的应用程序时,我收到此错误:
Caused by: java.lang.NullPointerException
at WebOpenController.<init>(WebOpenController.java:19)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
at java.lang.Class.newInstance(Class.java:438)
at sun.reflect.misc.ReflectUtil.newInstance(ReflectUtil.java:51)
at javafx.fxml.FXMLLoader$ValueElement.processAttribute(FXMLLoader.java:923)
at javafx.fxml.FXMLLoader$InstanceDeclarationElement.processAttribute(FXMLLoader.java:967)
at javafx.fxml.FXMLLoader$Element.processStartElement(FXMLLoader.java:216)
at javafx.fxml.FXMLLoader$ValueElement.processStartElement(FXMLLoader.java:740)
at javafx.fxml.FXMLLoader.processStartElement(FXMLLoader.java:2701)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2521)
... 22 more
第19行是这个私有的WebEngine engine = view.getEngine();
这是班级:
public class WebOpenController implements Initializable {
@FXML
private WebView view;
private String link = "http://google.com";
private WebEngine engine = view.getEngine();
@Override
public void initialize(URL location, ResourceBundle resources) {
    engine.load(link);
}
但是,当我做WebView view = new WebView时它会工作,但它不会在启动时打开页面
我确实在scenebuilder中设置了fx-id
在实例化webview之后,您需要检索Web引擎.请注意,initialize()将在fxml文件中的内容完全加载后调用,因此您应该在此处执行此操作.你可以在这里阅读这个.
这将有效:
@FXML
private WebView view;
private String link = "http://google.com";
private WebEngine engine;
@Override
public void initialize(URL url, ResourceBundle rb) {
    engine = view.getEngine();
    engine.load(link);
}
| 归档时间: | 
 | 
| 查看次数: | 1423 次 | 
| 最近记录: |