我使用 eclipse 在 java 中制作了一个基本的聊天应用程序。我现在开始向它添加额外的功能,并且目前停留在一个功能上,该功能可以告诉用户其他人何时打字,类似于 Whatsapp 和 Facebook Messenger。
目前我有一个整数来记录用户是否正在输入
public int typing = 0;
当它为 0 时,用户不会打字;当它为 1 时,用户不会打字( boolean 值由于某种原因不起作用)
我在文本框中有一个 Action 监听器,用于监听插入符更新并执行以下代码:
isTyping = 1;
String typing = ("t-");
client.send(typing.getBytes());
然后,服务器将其转发回其他客户端,当他们收到此消息时,如果他们没有键入,则会发送该消息,从而使某人正在键入标 checkout 现。
我想要的是当插入符号未更新以执行此代码时要监听的内容:
isTyping = 0;
String typing = ("n-");
client.send(typing.getBytes());
这可能吗,或者有没有办法让这项工作起作用,因为我似乎需要听没有克拉更新?
最佳答案
我建议避免监听器并创建一个线程:
创建的线程循环检查文本框的值并记住文本框的当前值。如果自上次检查以来该值没有更改,则意味着用户没有键入。您可以考虑检查的频率,也许只能使用该值的长度进行检查。
关于java - java中是否有与 Action 监听器相反的操作,因此它在没有发生 Action 时执行命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39429899/