JavaFx TextArea 不弹出键盘
JavaFx TextArea does not popup keyboard
RedHat 7 上的应用程序 运行,触摸屏界面,使用 JavaFX 8 编写。
键盘有一个 'lower keyboard' 按钮。如果用户 select 是一个 TextField 组件,然后放下键盘,select 使用相同的(仍然聚焦的字段)将再次弹出键盘。
如果用户select使用了 TextArea 组件,则最初会显示键盘。如果他们再放下键盘,和select一样(仍然是聚焦文本区域),键盘将不会显示。
如果在 TextArea 中失去焦点然后又获得焦点,将显示键盘。
为什么会这样,如何在 selected 字段时让键盘显示?
这有点老套,但如果我完全理解你的问题,以下内容可能对你有用。
textArea.onTouchReleasedProperty().addListener(new ChangeListener<EventHandler<? super TouchEvent>>() {
public void changed(ObservableValue<? extends EventHandler<? super TouchEvent>> observable, EventHandler<? super TouchEvent> oldValue, EventHandler<? super TouchEvent> newValue) {
if(newValue) {
if(textArea.isFocused()) {
textArea.getParent().requestFocus();
}
textArea.requestFocus();
}
}
});
RedHat 7 上的应用程序 运行,触摸屏界面,使用 JavaFX 8 编写。 键盘有一个 'lower keyboard' 按钮。如果用户 select 是一个 TextField 组件,然后放下键盘,select 使用相同的(仍然聚焦的字段)将再次弹出键盘。
如果用户select使用了 TextArea 组件,则最初会显示键盘。如果他们再放下键盘,和select一样(仍然是聚焦文本区域),键盘将不会显示。
如果在 TextArea 中失去焦点然后又获得焦点,将显示键盘。
为什么会这样,如何在 selected 字段时让键盘显示?
这有点老套,但如果我完全理解你的问题,以下内容可能对你有用。
textArea.onTouchReleasedProperty().addListener(new ChangeListener<EventHandler<? super TouchEvent>>() {
public void changed(ObservableValue<? extends EventHandler<? super TouchEvent>> observable, EventHandler<? super TouchEvent> oldValue, EventHandler<? super TouchEvent> newValue) {
if(newValue) {
if(textArea.isFocused()) {
textArea.getParent().requestFocus();
}
textArea.requestFocus();
}
}
});