On JTable
,当反复按下向下箭头键时,会快速连续触发多个 KeyEvent。我的要求是我只需要对 last 采取行动KeyEvent
。我正在尝试使用TimerTask
in KeySelectionListener
,但它给出了不确定的结果。
知道可以进行哪些更改KeyListener
吗?
示例代码 -
addKeyListener(new KeyListener() {
Timer t = new Timer();
TimerTask tt;
@Override
public void keyTyped(KeyEvent e) {
}
@Override
public void keyReleased(KeyEvent e) {
tt.cancel();
tt = null;
}
@Override
public void keyPressed(KeyEvent e) {
if (tt != null)
return;
tt = new TimerTask() {
@Override
public void run() {
System.out.println("Selected-- "+getModel().getValueAt(getSelectedRow(), 2));
}
};
// t.scheduleAtFixedRate(tt, 0, 500);
t.schedule(tt, 0, 200);
}
});
谢谢