Webview mit contenteditable kann nicht programmgesteuert fokussiert werden

Der Versuch, requestFocus () im WebView auszuführen, funktioniert erst, wenn der Benutzer zum ersten Mal auf das Steuerelement geklickt hat.

Ich weiß, dass dies möglich sein muss, da htmlEditor auf diese Weise fokussiert werden kann (und ich vermute, dass es auf einem inhaltsbearbeitbaren WebView basiert).

Ich programmiere meinen eigenen spezialisierten htmlEditor mithilfe einer Webansicht mit "contenteditable" und möchte ihn wirklich so fokussieren können, wie ich es mit dem Standard-htmlEditor tun kann.

Ich glaube, dass dies ein Problem mit Javafx sein muss, und ich habe es Jira bereits vorgelegt, aber ich frage mich, ob jemand eine Lösung dafür finden kann.

AKTUALISIEREN: Nummer der Ausgabe in jira: RT-21695

Kurzer Demo-Code:

/* Demo webview */

public class WebViewConteneditableDemo extends Application {


String initialEditview = "<html><head>"
        + "</head><body contenteditable='true'>"
        +"</body></html>";

/**
 * @param args the command line arguments
 */
public static void main(String[] args) {
    launch(args);
}

@Override
public void start(Stage primaryStage) {
    primaryStage.setTitle("Webview focus demo");


    final WebView editor = new WebView();

    Button btn = new Button();
    btn.setText("Test Webview focus");
    btn.setOnAction(new EventHandler<ActionEvent>() {

        @Override
        public void handle(ActionEvent event) {
           editor.requestFocus();
        }
    });

    BorderPane root = new BorderPane();
    root.setTop(btn);

    root.setCenter(editor);
    editor.getEngine().loadContent(initialEditview);

    primaryStage.setScene(new Scene(root, 500, 450));
    primaryStage.show();
}

}

Antworten auf die Frage(2)

Ihre Antwort auf die Frage