问题描述
我被要求开发一个Java桌面swing应用程序,该应用程序可读取条形码并根据具有相关条形码的产品来处理数据。
我们使用的条形码扫描仪是Symbol LS2208 USB扫描仪,包装盒内没有说明或CD。 我们将其插入后,它发出蜂鸣声,并能够将条形码值扫描到记事本中作为测试。
在我的应用程序中,如何确保扫描仪将数据填充到相关的文本框中?如何知道何时扫描了整个条形码? 或者如何在我的应用程序中获取条形码Scannar输入?
1楼
如果将扫描仪连接到USB,则可以通过System.in使用扫描仪。 您也可以使用USB-COM仿真器并在使用com-port时使用它。 更多信息在这里
2楼
这种类型的扫描仪是“人机接口设备”,也称为HID。 这种类型的扫描仪可以在可以使用键盘提供输入的任何位置向软件提供输入。
-
在我的应用程序中,如何确保扫描程序将数据填充到相关的文本框中?
- 您的应用程序通常不对此负责。 通常,当相关文本框具有焦点时,用户有责任使用扫描仪。
-
我怎么知道何时扫描了整个条形码?
- 扫描仪应注意这一点。 仅当它感测到已扫描了完整的条形码时,才应传输其数据。
-
如何在我的应用程序中获取条形码Scannar输入?
- 从应用程序中的键盘获取数据键入的方式相同。 您可以使用stdin(Java中的System.in)。 如果使用的是GUI,则可以使用文本字段,文本框,文本编辑窗格等。
因此,简短的答案是:就像没有条形码扫描器一样编写应用程序。
这实际上不是Java问题。
3楼
詹姆斯已经回答了您的大多数问题。 这个问题已经有点老了,但是将来可能会为有相同问题的人们服务。
当您通过USB连接扫描仪时,特别是Zebra扫描仪(Symbol现在是Zebra Technologies的一部分),默认情况下通常会将其识别为USB HID设备。 有关HID仿真的更多信息,请参见Fildor共享的链接。
因此,每次扫描条形码扫描器都会将编码的信息转换为击键,因为它是在模拟键盘。 如果您的应用程序中有一个文本字段可以键入,那么您也应该可以扫描它。
有关更多信息,请参见的PRG(产品参考指南)。
对于Zebra的配置实用程序 。 使用后者,您可以将扫描仪设置为发送后缀或前缀,例如Enter或Tab 。