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