JavaFX edita WebView en documento FXML
Mi objetivo es poder poner contenido html en un objeto WebView en el documento fxml usando la clase de controlador. Mi documento FXML tiene otros objetos como botones e imágenes, quiero que WebView solo sea parte de la GUI. Puedo poner contenido dentro de un TextArea en el documento FXML usando la clase de controlador. Hacer esto para WebView es un poco más complicado porque requiere un WebEngine para acompañarlo. Sé cómo iniciar un WebView por sí solo sin un documento FXML, pero ¿alguien sabe si mi objetivo es alcanzable?
Este es mi intento en la clase de controlador, pero obtengo una excepción de destino de invocación:
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();
}
}