JavaFX虚拟键盘与文本字段组件重叠

时间:2020-08-11 12:06:52

标签: javafx java-8 touch virtual-keyboard

我有一个关于在ubuntu上支持触摸的PC上使用虚拟键盘的问题。当文本字段专注于Java时,我设法显示了虚拟键盘:

-Dcom.sun.javafx.isEmbedded=true
-Dcom.sun.javafx.touch=true
-Dcom.sun.javafx.virtualKeyboard=javafx 
-Dcom.sun.javafx.vk.adjustwindow=true

但是当键盘显示出来时,它会覆盖键盘下方的文本字段。

根据官方文档http://docs.oracle.com/javase/8/javafx/user-interface-tutorial/embed.htm

“当焦点对准文本输入字段时,将自动显示虚拟键盘。请注意,显示键盘时,与键盘关联的控件仍然可见。无需向上推父级。键盘从底部滑入,向上推动父级,以保持与键盘关联的控件在屏幕上可见。”

它应该自动将文本字段向上推并使其可见。

我尝试从JavaFX virtual keyboard overlaps nodes实施解决方案,但该解决方案无法按照要求运行。

import javafx.application.Application;                                                 
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.TextField;
import javafx.scene.layout.BorderPane;
import javafx.stage.Stage;
public class Main extends Application {
    @Override
    public void start(Stage stage) {
        TextField textField = new TextField();
        textField.setPromptText("Enter comment");
        BorderPane borderPane = new BorderPane(new Button("Click"));
        borderPane.setBottom(textField);
        Scene scene = new Scene(borderPane,1850,1200);
        stage.setScene(scene);
        stage.show();
    }
}

JavaFX virtual keyboard application- keyboard hidden

JavaFX virtual keyboard application- keyboard open

对于任何建议或解决方案,我将不胜感激。

谢谢。

enter image description here

0 个答案:

没有答案