JavaFX HTMLEditor - 关注webView(TextArea)

时间:2016-05-23 13:58:41

标签: java javafx webview focus

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

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

尝试一下

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

除了关注之外,您还可以设置并获取文字等等