time.schedule(new TimerTask(){
  public void run()
  {
  System.out.println("haha haha");
  JOptionPane.showMessageDialog(f,"error","worning",JOptionPane.WARNING_MESSAGE);
  }
  },date);
任务是执行了,但是如何就让他执行一次呢??
time.cancel();怎么写才合适呢??

解决方案 »

  1.   

    按照你给出的代码,任务就只会被执行一次的。
    你调用的是
    schedule(TimerTask task, Date time)
              Schedules the specified task for execution at the specified time.根据API任务会在你指定的时间被执行一次。
      

  2.   

    但是,当我运行完程序关闭后,还有一个java.exe进程在运行,并且如果不强制结束java.exe,无法再次调试运行我的程序,这是为什么??
      

  3.   

    当我WINDOWS启动后,即使我没运行任何JAVA程序,我的TaskManager里面就有显示一个java.exe和一个javaw.exe,而当我启动一个JAVA程序以后就变成两个java.exe,所以我觉得这不是问题。建议你检查一下自己的程序,看看是否哪个method还没有运行完(如果你用了多线程,即使main运行完了,如果其他一个线程还在运行的话,程序也不会退出的)你贴出源码来看看
      

  4.   

    你在Timer t=new Timer(true)
    跟个参数就行了!