【发布时间】:2016-01-28 18:41:43
【问题描述】:
我有一个 Zebex Z-3100 CCD 扫描仪,它可以非常整齐地读取条形码。
我正在尝试做的是制作一个可以处理它读取的条形码的java程序,到目前为止我已经成功地做到了。
我正在努力的是让java程序在不标记控制台/文本区域(swing)的情况下监听条形码。
当我启动程序(swing)并扫描代码时,它可以工作,但是当我使用键盘(我在 swing 中实现)并按“清除”时,它最后触摸了“清除”按钮,并且文本字段不再输出读取的条形码。
我试图通过制作一个只听的单独线程来解决这个问题
"Scanner sc = new Scanner(System.in);",
但是当我单击“清除”按钮时,它不再没有标记控制台和文本字段,并且程序没有读取任何代码..
有没有人知道一种简单的方法让程序总是听扫描仪的声音?
扫描仪似乎像键盘一样工作 -> 数字+输入(例如 41231 -> 输入)
我不确定要链接代码的哪一部分,但如果有人需要/请求,我会链接代码!
非常感谢!
EDIT 当我标记控制台/文本区域时,它会再次读取代码。我不知道该怎么做的唯一部分 - 是让它听条形码扫描仪“24/7”!
【问题讨论】:
-
您需要发布相关代码,最好尽可能靠近minimal reproducible example(请查看链接)。
-
使用
SwingWorker,代表example。 -
当您单击“清除”按钮时,在
JTextField上调用requestFocusInWindow以将键盘焦点移回它 -
@trashgod 不幸的是 SwingWorker 没有工作。同样的问题,当文本域没有标记时,它不会读取条形码。
-
@MadProgrammer,你应该把它写成答案!我会给你“正确”的东西!成功了^^ 非常感谢! :D
标签: java swing barcode barcode-scanner