我有条形码扫描仪,只要扫描条形码,就需要将数据读入数据库。所有扫描仪都采用条形码并用它创建一个字符串。然而,条形码可以是可变长度。
它背后的想法是打开一个java类,用户将一个接一个地扫描多个条形码(不按Enter键)。然后,该类必须采用每个条形码并将其读入数据库。
我需要帮助才能从扫描仪中读取字符串,而无需用户每次都按Enter键(因为这会使程序变得无用而且用户不太友好)
感谢。期待找到解决方案!
答案 0 :(得分:0)
我在.NET中做过类似的事情,但概念应该大致相同。
我会设置一个定时器,延迟时间足够长,表示输入已停止但不会太长而导致延迟 - 所以说500毫秒。
在文本框更新事件中,您可以确保启用计时器并重置计时器,从而为您提供另外500毫秒的输入更多信息。
在计时器刻度事件或等效事件上,您执行操作(在您的情况下保存到数据库)并禁用计时器,确保您在处理过程中不会影响焦点。
假设您也清除了文本框,那么您可以在指定的任何延迟后扫描其他内容并触发完全相同的功能。
请注意,如果您不得不使用键盘而不是条形码扫描,这可能会失败。至少如果是这种情况,你需要研究一个更好的延迟值,以适应两者或者可能提供一种方法来禁用计时器并恢复使用回车键
希望这有帮助