2

私の目標は、コントローラー クラスを使用して、html コンテンツを fxml ドキュメントの WebView オブジェクトに配置できるようにすることです。私の FXML ドキュメントには、ボタンや画像などの他のオブジェクトが含まれています。WebView を GUI の一部にしたいだけです。コントローラ クラスを使用して、FXML ドキュメントの TextArea 内にコンテンツを配置できます。WebView に対してこれを行うには、WebEngine が必要なため、少し注意が必要です。FXMLドキュメントなしでWebViewを単独で起動する方法は知っていますが、私の目標が達成可能かどうかは誰にもわかりませんか?

これはコントローラー クラスでの私の試みですが、呼び出しターゲットの例外が発生します。

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();
    }     

}
4

1 に答える 1