完全加载WebView后执行任务

WebEngine完成加载后是否可以自动运行任务? 我知道我可以从WebEngine获取一个Worker来指示加载进度,但似乎反复轮询Worker并不是一个优雅的解决方案(即锁定程序直到页面加载)。 我知道我可以使用Task执行此操作,因此我可以以某种方式获取WebEngineTask ,并在完成命令上添加执行操作吗?

基于WebView文档的示例:

 webView.getEngine().getLoadWorker().stateProperty().addListener( new ChangeListener() { @Override public void changed( ObservableValue observable, Worker.State oldValue, Worker.State newValue ) { if( newValue != Worker.State.SUCCEEDED ) { return; } // Your logic here } } ); 

作为lambda表达式:

 webView.getEngine().getLoadWorker().stateProperty().addListener( (ObservableValue observable, Worker.State oldValue, Worker.State newValue) -> { if( newValue != Worker.State.SUCCEEDED ) { return; } // Your logic here } );