请看看这样那里有问题?
case KeyEvent.VK_J:// 发子弹
superFire = false;
fire = true;
timer.schedule(new TimerTask() {
public void run() {
fire=false;
timer.cancel();
}
},1000);
timer.cancel(); 要去掉的呀,要不然定时任务只会执行一次呢。