Java - 如何判断用户是否在文本字段中输入了文本,但现在是空闲的?

时间:2011-12-13 22:04:16

标签: java swing user-interface jtextfield

对于我正在编写的程序,我需要能够判断用户是否在文本字段中输入了文本(但当前没有输入)。我有一个文本字段的动作监听器,它能够判断用户当前是否通过KeyListener进行输入,但有没有一种方法可以判断用户是否已经停止输入但是在文本框中输入了文本?

谢谢!

3 个答案:

答案 0 :(得分:3)

您可以使用Swing timer并定期检查自上一次按键以来是否已经过了一段时间。

E.g。对于每次按键,请在变量中保存时间戳。设置计时器以检查时间戳是否早于例如10秒。

答案 1 :(得分:1)

是的,有。你可能必须附加一个在后台运行的简单线程来保持轮询,或者你也可以在摇摆中使用timer

答案 2 :(得分:0)

检查活动文本字段中的字母数。如果它大于0,则用户输入了文本。当你听到密钥列表时,也要记下它的时间戳。并查看它是否比3秒钟更早,然后用户空闲。你最需要一个线程来观看时间。 Swing Timers主要用于GUI相关功能。因此,如果您在IM服务器上使用此功能,则应使用普通的通用计时器。