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

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

最新更新