JAVA 如何让飞机大战每秒发出一个子弹?

请看看这样那里有问题?

case KeyEvent.VK_J:// 发子弹

        superFire = false;

        fire = true;

        timer.schedule(new TimerTask() {
              public void run() {
                fire=false;

                timer.cancel();

              }
            },1000);

timer.cancel(); 要去掉的呀,要不然定时任务只会执行一次呢。