1、keyPressed这个函数会有按键延迟,比如我通过这个函数让一个小点动,按下方向键后会先动一下,然后延迟1秒左右再连续移动,求教如何才能消除这个延迟。
2、keyTyped是不是不能接收功能键(如方向键)的事件。
3、keyTyped为什么每个键的keyCode都为0,是否只能通过keyChar来判断。
求助各位大神


------解决思路----------------------
第一问:这个现象叫做:闪烁现象,不是延时!原因是java的paint被调用的时候是50毫秒调用一次,解决的方法是:用双缓冲技术。
第二问:不是的,keyTyped返回什么值,取决于你按了什么键,返回的参数你可以以int型来获取或者char型获取都可以。具体实现方法看我的代码
@Override
public void keyTyped(KeyEvent arg0) {
if(arg0.getKeyCode() == KeyEvent.VK_A) {
System.out.println(arg0.getKeyChar() + "键被按下");
}
System.out.println(arg0.getKeyChar() +"键被按下");
}
上面有两个println()方法,第一个方法是用来说明:当你按下a键时候,就输出这句,第二个println()方法是为了说明,无论你按下什么都可以输出其对应的char值。但是,如果你按下shift ctrl等键回显示错误的字符,要想看其unicode马,直接换成arg0.getKeyCode()就行了!
ps:本人上课没听的有点晕,不过大意是没错的!