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

标签 webview keyboard javafx touchscreen

背景/背景:

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

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

我的问题:

JavaFX/WebView 是否为这些情况提供任何支持?

如果你要解决这个问题,你的方法是什么?

到目前为止我的解决方案:

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

最佳答案

It would be nice to have an option to register an event-handler on WebView/WebEngine for any HTML text input element got/lost focus, so that I could show/hide on-screen-keyboard.



这样做的潜在策略:
  • jdk8 preview 开始.
  • 使用 -Dcom.sun.javafx.isEmbedded=true 运行应用程序启用虚拟键盘。
  • 使用 webengine.executeScript 技术来 embed jQuery into the target page .
  • 绑定(bind)jQuery focus handler到相关的html元素。
  • 在 jQuery 焦点处理程序中创建 Upcall from JavaScript to Java .
  • 收到电话后,请使用 JavaFX's Virtual Keyboard .
  • 当用户在键盘中输入值时,调用 executeScript 来设置相应 html 字段的值。

  • 有些部分可能会有点(或完全)片状,但也许其他部分可能对您有用。

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

    enter image description here

    关于webview - JavaFX WebView/WebEngine 自动为每个文本输入显示屏幕键盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12704457/

    相关文章:

    javascript - 未捕获的 ReferenceError,通过 android 应用程序调用 javascript 函数..?

    javascript - 是否允许在 Windows Phone 8.1 应用程序的 webview 的 html 文件中包含外部 javascript 文件?

    android - 登录成功后隐藏登录页面并在android中显示main_activity

    java - 使用 adjustResize 防止键盘在启动时自动弹出

    macos - 如何以编程方式同时按下 "shift"+ "command"+ "3"

    scala - 如何使JavaFX应用程序在Retina显示屏上不模糊

    android - 为什么我的全屏 webview 在打开后立即不断关闭?

    java - 如何让 slider 自动移动

    css - JavaFX:整个框架的菜单栏宽度

    linux - 如何在 Ubuntu Jaunty 下从 HID 设备读取事件?