0
除非另有新的預定任務覆蓋,否則在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);
}
}
完美!謝謝。 – CJxD