我在桌子上方有一个表格和一个搜索框。我每次发布密钥时都会刷新视图。这会导致一些滞后。
代码:
searchText.addKeyListener(new KeyAdapter() {
@Override
public void keyReleased(final KeyEvent ke) {
filter.setSearchText(searchText.getText());
viewer.refresh();
}
});
如何仅在用户停止写入时刷新视图?
答案 0 :(得分:2)
您可以使用阈值和Timer:
来实现此目的final Timer timer = new Timer(threshold, new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
filter.setSearchText(searchText.getText());
viewer.refresh();
}
});
timer.setRepeat(false);
searchText.addKeyListener(new KeyAdapter() {
@Override
public void keyReleased(final KeyEvent ke) {
timer.restart();
}
});