java怎么让按住键盘时不响应不要说用keyReleased()。 30

我想让按住键盘时只是按下的一瞬间响应,后面按住不放的就不做处理。不要说keyReleased(),因为keyReleased()要松开后才会执行下面的程序,我要按下去的时... 我想让按住键盘时只是按下的一瞬间响应,后面按住不放的就不做处理。不要说keyReleased(),因为keyReleased()要松开后才会执行下面的程序,我要按下去的时候马上执行
public void keyPressed(KeyEvent e)
{
int key = e.getKeyCode();
switch(key)
{
case KeyEvent.VK_SPACE:
Fire();
//后面省略若干代码
}
}
展开
 我来答
百度网友14f7e688aad
2014-11-05 · TA获得超过660个赞
知道小有建树答主
回答量:830
采纳率:0%
帮助的人:649万
展开全部
tf.addKeyListener(new KeyAdapter1());

class KeyAdapter1 extends KeyAdapter{
@Override
public void keyPressed(KeyEvent e) {
int code = e.getKeyCode();
if(!(code>=KeyEvent.VK_0&&code<=KeyEvent.VK_9))
{
System.out.println(code+"..."+"是非法的");
tf.removeKeyListener(this); //注销事件 ------------------------------
// e.consume();
}
}

}
追问
额 ,我只是想在长按键盘按键是,让方法只执行一次。这个不是判断的除0-9外其他的不执行么,另外tf在这里是怎么调用的啊
追答
你没仔细看代码吗。判断0-9只是业务逻辑。你改成你的业务逻辑就可以了。

关键是这句:tf.removeKeyListener(this); //注销事件 --------执行了1次就注销这样以后也就不生效
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式