JavaFX HTMLEditor - 焦点 webView (TextArea)

JavaFX HTMLEditor - focus webView (TextArea)

我使用 JavaFX HTMLEditor 组件创建了一个聊天,发送消息后编辑器不再聚焦,因为您按下了暂时聚焦的发送按钮)。我想以某种方式关注编辑器,我已经谷歌搜索但没有找到答案。

  void editorWebViewRequestFocus()
  {
    final WebView view = (WebView) ((GridPane) ((HTMLEditorSkin) editor.getSkin()).getChildren().get( 0 )).getChildren().get( 2 );

    Platform.runLater( () ->
    {
      view.fireEvent( new MouseEvent( MouseEvent.MOUSE_PRESSED, 100, 100, 200, 200, MouseButton.PRIMARY, 1, false, false, false, false,
          false, false, false, false, false, false, null ) );
      editor.requestFocus();
      view.fireEvent( new MouseEvent( MouseEvent.MOUSE_RELEASED, 100, 100, 200, 200, MouseButton.PRIMARY, 1, false, false, false, false,
          false, false, false, false, false, false, null ) );
    } );
  }

试试这个

  WebView webView = (WebView) htmlEditor.lookup("WebView");
    ((HTMLBodyElementImpl) ((NodeListImpl) webView.getEngine().getDocument().getElementsByTagName("body")).item(0)).focus();

除了焦点之外,您还可以设置和获取文本等等