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();
除了焦点之外,您还可以设置和获取文本等等
我使用 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();
除了焦点之外,您还可以设置和获取文本等等