Mar*_*ark 2 java swing keyevent keylistener
如果你使用java KeyListener类,你知道如果你按住一个键keyPressed会触发一个KeyEvent,然后大约半秒后将非常快地多次触发相同的键.我想知道是否有办法防止KeyEvents射击太快.我希望它们以大约每500毫秒一次的恒定速率运行.
你可以,但诀窍是不要减慢事件的触发速度,但要减慢你处理它们的速度:
KeyListener kl = new KeyListener() {
private long lastPressProcessed = 0;
@Override
public void keyPressed(KeyEvent e) {
if(System.currentTimeMillis() - lastPressProcessed > 500) {
//Do your work here...
lastPressProcessed = System.currentTimeMillis();
}
}
@Override
public void keyTyped(KeyEvent e) {}
@Override
public void keyReleased(KeyEvent e) { }
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12314 次 |
| 最近记录: |