在Windows7和jre8上,我们看到了条形码扫描器和Java应用程序的异常奇怪的行为。这是一个大规模部署1000多台个人电脑和几个不同的条形码模式。我们扫描用9个字符表示字符串的条形码: H06AVKTI2
现在,“有时在某些安装上”,后面的一些字符出现在错误的顺序: H06AVKTI2 H06AVKI2T H06AVKTI2
任何想法都是受欢迎的--我们绝望了;-)
发布于 2016-12-01 20:27:53
我们最终解决了这个问题。事实证明,这个Java Swing应用程序允许配置可用于在特定条件下执行某些业务任务的键盘快捷键。有人在全球范围内将shift-t和其他一些shift-_配置为业务事务的快捷方式。
现在,尽管当我们扫描条形码时,这些业务事务在上下文中是不可用的,但当应用程序接收到shift-t时,它似乎会中断几毫秒。当条形码扫描器扫描一个包含"T“的代码时,它会发送其中一个shift-t组合,软件只需要很短的时间就可以确定这个快捷方式没有任何用处。在这种情况下,扫描的字符最终会被交换。因此,这显然只发生在我们扫描一个包含我们配置的快捷键的字符的代码时.
解决方案是将配置的快捷方式更改为ctrl-t,而不是shift-t。
根本原因可能是应用程序的框架开发人员实现这些全局快捷方式,但这一点还没有得到验证。
https://stackoverflow.com/questions/39262666
复制相似问题