我正在用 Java 创建一个简单的文本编辑器,并且正在尝试添加撤消和重做功能。我希望程序能够确定用户是否停止在文本区域中输入,而不仅仅是他们是否输入了字符。只有当这是他们键入的唯一内容时,程序才应保存单个字符。你会怎么做呢?
问问题
1015 次
2 回答
2
定义“停止输入”。
基本上,我会考虑使用计时器。获取每个角色事件,添加一个计数器和一个计时器,每次有 Key Up 事件时都会重新启动。将“停止输入”定义为经过足够的时间。
然后想一想,如果你真的想那样做,因为这听起来会让我彻底把火把和干草叉逼疯了。
于 2011-10-06T02:35:14.437 回答
0
在主班的某个地方;
public static long lastKeyPressTime = 0l;
在您的 KeyListener 界面中;
public void keyPressed(KeyEvent evt) {
lastKeyPressTime = System.currentTimeMillis();
}
最后,在一个适当的、快速运行的线程中;
if((system.currentTimeMillis() - lastKeyPressTime) > 2000) {
//do something, because the user hasnt typed for two seconds
}
于 2011-10-06T02:35:44.637 回答