【发布时间】:2014-08-16 20:24:22
【问题描述】:
我想找出在 java 中按下某个键的时间(以毫秒为单位),但我的结果总是打印不同的数字,即使我按下该键的时间少于一秒或更长时间。 例如,如果我按下不到一秒,则显示 30、45 或 98,如果按下 3 秒,则显示 35、50、120 我试过这段代码
long keyPressedMillis;
long keyPressLength;
.
public void keyPressed(KeyEvent arg0) {
// TODO Auto-generated method stub
int codigo = arg0.getKeyCode();
if(codigo == KeyEvent.VK_SPACE)
{
keyPressedMillis = System.currentTimeMillis();
}
}
.
public void keyReleased(KeyEvent arg0) {
// TODO Auto-generated method stub
int codigo = arg0.getKeyCode();
if(codigo == KeyEvent.VK_SPACE)
{
keyPressLength = System.currentTimeMillis() -keyPressedMillis;
System.out.println(keyPressLength);
}
}
【问题讨论】:
-
因为如果我按下不到一秒会显示 30、45 或 98,如果我按下 3 秒会显示 35、50、120,如果我按下 3 秒,我希望显示更大的数字(更大的间隔)
标签: java time keypress milliseconds keyrelease