我有一个关于在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
对于任何建议或解决方案,我将不胜感激。
谢谢。