【发布时间】:2023-04-03 10:10:01
【问题描述】:
对于我正在编写的程序,我需要能够判断用户是否在文本字段中输入了文本(但当前没有输入)。我有一个用于文本字段的动作监听器,它能够判断用户当前是否正在通过 KeyListener 输入,但是有没有一种方法可以判断用户是否已停止输入但已在文本框中输入了文本?
谢谢!
【问题讨论】:
标签: java swing user-interface jtextfield
对于我正在编写的程序,我需要能够判断用户是否在文本字段中输入了文本(但当前没有输入)。我有一个用于文本字段的动作监听器,它能够判断用户当前是否正在通过 KeyListener 输入,但是有没有一种方法可以判断用户是否已停止输入但已在文本框中输入了文本?
谢谢!
【问题讨论】:
标签: java swing user-interface jtextfield
您可以使用Swing timer 并定期检查距该字段最后一次按键是否有一段时间。
例如对于每次按键,将时间戳保存在变量中。设置计时器以检查时间戳是否早于例如10 秒。
【讨论】:
是的,有。您可能需要附加一个在后台运行的简单线程以保持轮询,或者您也可以在摇摆中使用timer
【讨论】:
检查事件中文本字段中的字母数。如果它大于 0,那么用户已经输入了文本。同样,当您收听 keylistner 时,请为其添加时间戳。并查看它是否超过 3 秒,然后用户处于空闲状态。您主要需要一个线程来查看时间。 Swing Timers 主要用于 GUI 相关的功能。因此,如果您在 IM 服务器上使用它,您应该使用普通的通用计时器。
【讨论】: