如何动态设置Timer的触发时间?我想做个两个按钮,一个按钮10秒触发,另一个20秒触发?如何实现啊??

解决方案 »

  1.   

    楼主可否表述清楚点,
    你是想用Timer实现,
    每10秒按下一个按钮,
    每20秒按下另一个按钮还是说想通过两个按钮控制某个Timer的触发频率,
    按下某个按钮后,此Timer每10秒触发一次
    按钮某个按钮后,此Timer每20秒触发一次另外你的结贴率……
      

  2.   

    int interval = 0;
                timer.schedule(new TimerTask()
    {
    public void run()
    {
    Display.getDefault().syncExec(new Runnable()
    {
    public void run()
    {                                           interval +=10000;
                                             }                    }, 1000, interval);
      

  3.   

    错了, 是做两个按钮, 点击不同的按钮, 就给interval 设置不同的值就可以了
      

  4.   

    是想通过两个按钮控制某个Timer的触发频率
      

  5.   

    那,给一种解决方案 Timer timer = null;
    TimerTask task = null;
    JButton btn20 = new JButton("20");
    JButton btn10 = new JButton("10");
    btn20.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent e) {
    if (timer != null) {
    timer.cancel();
    timer = null;
    }
    timer = new Timer();
    task = new TimerTask() {
    public void run(){
    //you task
    }
    };
    timer.schedule(task, 0, 20000);
    }
    });
    btn10.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent e) {
    if (timer != null) {
    timer.cancel();
    timer = null;
    }
    timer = new Timer();
    task = new TimerTask() {
    public void run(){
    //you task
    }
    };
    timer.schedule(task, 0, 10000);
    }
    });