JavaFX WebView/WebEngine自动为每个文本输入显示屏幕键盘

Rad*_*nec 3 keyboard javafx touchscreen webview

背景/环境:

我正在使用JavaFX开发基于触摸屏的信息亭应用程序.该应用程序集成了浏览器--WebView.问题是所有用户输入必须通过屏幕键盘(SW键盘)

如果可以选择在WebView/WebEngine上注册任何HTML文本输入元素获得/失去焦点的事件处理程序,那么我可以显示/隐藏屏幕键盘.
即使我搜索了互联网,我也没有找到这种功能.

我的问题:

JavaFX/WebView是否为这些案例提供了任何支持?

如果你要解决这个问题,你会采取什么方法?

到目前为止我的解

我有一个小按钮(在屏幕的一个角落),允许用户显示/隐藏屏幕键盘.因为他们必须手动完成,所以非常烦人.特别是在浏览(消费信息)和文本输入经常变化的网站上.

jew*_*sea 5

如果可以选择在WebView/WebEngine上注册任何HTML文本输入元素获得/失去焦点的事件处理程序,那么我可以显示/隐藏屏幕键盘.

这样做的潜在策略:

  1. 从jdk8预览开始.
  2. 运行应用程序-Dcom.sun.javafx.isEmbedded=true以启用虚拟键盘.
  3. 使用webengine.executeScript技术将jQuery嵌入到目标页面中.
  4. 将jQuery焦点处理程序绑定到相关的html元素.
  5. 在jQuery焦点处理程序中,从JavaScript到Java进行Upcall.
  6. 收到upcall后,可以使用JavaFX的虚拟键盘.
  7. 当用户在键盘中输入值时,请执行executeScript调用以设置相应html字段的值.

某些部件可能会有点(或完全)片状,但也许其他部件可能对您有用.

将来,如果嵌入式设备上的触摸屏平台支持WebView,我猜测开箱​​即用它可以很好地与虚拟键盘配合使用.

在此输入图像描述