JavaFX edita o WebView no documento FXML
Meu objetivo é poder colocar conteúdo html em um objeto WebView no documento fxml usando a classe controller. Meu documento FXML possui outros objetos, como botões e imagens. Quero que o WebView faça parte da GUI. Eu posso colocar conteúdo dentro de uma TextArea no documento FXML usando a classe controller. Fazer isso no WebView é um pouco mais complicado, pois exige que um WebEngine o acompanhe. Sei como iniciar um WebView por si só sem um documento FXML, mas alguém sabe se meu objetivo é alcançável?
Esta é minha tentativa na classe do controlador, mas recebo uma exceção de destino de chamada:
public class FXMLDocumentController implements Initializable {
@FXML
private Label label;
WebEngine engine;
@FXML
private void handleButtonAction(ActionEvent event) {
System.out.println("You clicked me!");
label.setText("Hello World!");
}
//access WebView in FXML document
@FXML WebView mywebview; //mywebview is the fxid
public void displayWeb() {
engine = mywebview.getEngine();
final String hellohtml = "chang.htm"; //HTML file to view in web view
URL urlHello = getClass().getResource(hellohtml);
engine.load(urlHello.toExternalForm());
}
@Override
public void initialize(URL url, ResourceBundle rb) {
displayWeb();
}
}