gpt4 book ai didi

java - 在正在运行的 GUI 环境中运行 Java 方法的最佳实践

转载 作者:行者123 更新时间:2023-12-02 03:32:48 25 4
gpt4 key购买 nike

根据用户输入从正在运行的 JFrame 开始运行方法的最佳/常见做法是什么?

场景背景是我想要运行一个 JFrame 并附加一个条形码扫描仪。该条形码扫描仪将扫描未预定义(无固定长度)的条形码(带有特殊字符的字母数字),然后查找特殊字符(如 *)并启动操作。

问题条形码的格式为: * 名字 * 姓氏 * 出生年份。我正在考虑每次 JTextField 的内容发生变化时运行我的“分析”方法,但我相信这是必要的工作。

假设这是扫描的* 约翰 * 美国能源部 * 1988条形码扫描仪中的字符“一一”输入,这将导致 13 次不必要的“内容检查”.. 这就是我陷入困境的地方。我希望我的解决方案尽可能高效:)

注意:是的,解决方案可以让用户在扫描后通过按钮或某些操作“确认他的输入”,然后“分析输入” - 但这是我想避免的并使其完全自动(且高效)

您的方法或提示和技巧如何?

最佳答案

SwingWorker适合于此。读取 doInBackground() 实现中的数据,并在完整记录可用时 publish() 结果。然后,您的 process() 实现可以安全地更新事件调度线程上的 View 组件模型。如本相关example ,您可以根据需要 cancel() 并重新启动工作线程。如果在一段凭经验确定的时间内没有输入,您可能还需要重置扫描状态,例如300 毫秒。

关于java - 在正在运行的 GUI 环境中运行 Java 方法的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37850271/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com