除非被新的计划任务覆盖,否则如何在x秒后执行任务?
场景是我想在用户输入我的JTextField后1秒执行任务。为此,我需要安排任务,并在每次“'文件”时重新安排任务。变化。
我尝试使用ScheduledExecutorService
,但调度只是将任务添加到列表中,而不是取消之前的任务。
我希望在哪里:
class TextChangeListener implements DocumentListener {
private final ??? updater = new ???();
@Override
public void changedUpdate(DocumentEvent arg0) {}
@Override
public void insertUpdate(DocumentEvent arg0) {
update();
}
@Override
public void removeUpdate(DocumentEvent arg0) {
update();
}
private void update() {
// Wait for the user to finish typing first
updater.schedule(new Runnable() {
@Override
public void run() {
doSomeStuff();
}
}, 1, TimeUnit.SECONDS);
}
}