gpt4 book ai didi

java - 在 Jtable 中重复按下箭头键

转载 作者:行者123 更新时间:2023-12-02 07:45:28 24 4
gpt4 key购买 nike

JTable 上,当重复按下向下箭头键时,会快速连续触发多个 KeyEvent。我的要求是我只需要对最后一个 KeyEvent 执行操作。我尝试在 KeySelectionListener 中使用 TimerTask,但它给出的结果不确定。

知道可以在 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);



}
});

谢谢

最佳答案

使用 Timer 的想法(我强烈建议使用 javax.swing.Timer 类,因为您与 Swing 组件交互)应该可行。

只需将重复设置为false,如果计时器未运行,则在收到击键时启动计时器,或者在计时器已运行时重新启动计时器。这将导致处理最后一个键时出现轻微延迟(延迟 = 您在计时器上设置的延迟),但避免对每个击键使用react

关于java - 在 Jtable 中重复按下箭头键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10946119/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com