JavaFX WebView im FXML-Dokument bearbeiten
Mein Ziel ist es, in der Lage zu sein, HTML-Inhalte mithilfe der Controller-Klasse in ein WebView-Objekt im FXML-Dokument einzufügen. Mein FXML-Dokument enthält andere Objekte wie Schaltflächen und Bilder. Ich möchte, dass das WebView nur Teil der Benutzeroberfläche ist. Mit der Controller-Klasse kann ich Inhalte in eine TextArea im FXML-Dokument einfügen. Dies für WebView zu tun, ist etwas komplizierter, da dafür eine WebEngine erforderlich ist. Ich weiß, wie ich ein WebView von selbst ohne ein FXML-Dokument starten kann, aber weiß jemand, ob mein Ziel erreichbar ist?
Dies ist mein Versuch in der Controller-Klasse, aber ich erhalte eine Aufrufzielausnahme:
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();
}
}