0

我正在用 Java 创建一个简单的文本编辑器,并且正在尝试添加撤消和重做功能。我希望程序能够确定用户是否停止在文本区域中输入,而不仅仅是他们是否输入了字符。只有当这是他们键入的唯一内容时,程序才应保存单个字符。你会怎么做呢?

4

2 回答 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 回答