我想写一个使用Swing组件的实时搜索。我正在使用keyListener
来跟踪输入。基本上我不希望keyListener
每次按下按钮时都会采取行动,而是等待(一段时间)以获得更多输入。每次按下按钮时都会刷新这段时间,并在输入最终超时时(例如,在该时间段内没有按下按钮,意味着输入已完成),评估输入。我如何将其实施到我的keyListener
?主要方法keylistener等待输入
代码片段:
static JTextField nameTextField = new JTextField();
public static void main(String args[]) throws Exception {
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(nameTextField, BorderLayout.NORTH);
nameTextField.addKeyListener(new KeyListener() {
public void keyTyped(KeyEvent keyEvent) {
//
}
@Override
public void keyPressed(KeyEvent e) {
//
}
@Override
public void keyReleased(KeyEvent e) {
if(waitForMoreInput(50)) {
doSomething(nameTextField.getText());
}
}
}
}
}
);
frame.setSize(250, 100);
frame.setVisible(true);
}
在此先感谢
请自己试试看,并告诉我们您的尝试。 –