日期:2014-05-20  浏览次数:20859 次

keyPressed 按住后会多次执行!!
为什么我按住一个键 , 就执行很多次。   怎么才能让他只在我按住的那一刹那只执行一次?
java?se?keylistener?

------解决方案--------------------
不知行否,楼主试试:
设一个变量记录上次按下的键值,本次按下时与上次的比较,如一致直接返回;不一致,就继续处理,并给变量赋新值.

//----------------------
...
       private char oldchar;

...


//-----------------------
        public void keyTyped(KeyEvent e) {
if(e.getKeyChar()==oldChar)
{
return;
}
oldChar=e.getKeyChar();
                ...

------解决方案--------------------
你应该监听KeyReleased事件!