[英]Scanning barcode into the textbox of a web application
我正在使用基于Web的Java应用程序(UI使用GWT)。 我有一个仓库管理系统,我需要扫描条形码并将其显示在文本框中。 我知道扫描仪会发送键盘事件。 如何捕获这些事件并将其填充到我的文本框中? 扫描条形码时,光标应该位于文本框上吗?
任何人都可以提供如何捕获这些事件并在文本框中填充代码片段吗?
请注意,这需要在不同的操作系统和浏览器上工作。 这应该适用于笔记本电脑/台式机。 它不适用于移动应用程序。
由于无法区分扫描仪事件和键盘事件,因此只需将焦点放在文本框上并等待输入。 确保设置扫描仪,以便它们随后发送TAB,而不是ENTER。
根据扫描仪的不同,可以对其进行编程以在实际条形码之前发送预定义的前缀。 例如,我使用的扫描仪Honeywell Voyager 95X0可以配置为在每个条形码之前发送例如Start of TeXt (ASCII 02H)
的Start of TeXt (ASCII 02H)
(请参阅配置指南第8章,第42页 )。 然后,您可以使用该前缀来过滤出哪些KeyPressEvent来自扫描仪(然后将输入移至文本框)以及哪些来自用户。
设置“全局” KeyPressHandler(这样,用户在扫描条形码之前不必记住要聚焦文本框)应该很简单-例如,参见此线程 。 关键是使用Event.addNativePreviewHandler
捕获事件,然后再将事件触发到其处理程序。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.