我想寫一個使用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);
}
在此先感謝
請自己試試看,並告訴我們您的嘗試。 –