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