在Eclipse中,如何在过滤器上的键输入结束时刷新视图?

时间:2014-10-30 08:26:08

标签: java eclipse eclipse-plugin eclipse-rcp

我在桌子上方有一个表格和一个搜索框。我每次发布密钥时都会刷新视图。这会导致一些滞后。

代码:

searchText.addKeyListener(new KeyAdapter() {
        @Override
        public void keyReleased(final KeyEvent ke) {
            filter.setSearchText(searchText.getText());
            viewer.refresh();
        }
        });

如何仅在用户停止写入时刷新视图?

1 个答案:

答案 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();
    }
});