weixin_41096911 2020-04-13 19:23 采纳率: 33.3%
浏览 107

timer可以使用数组吗?

我在一个frame里放入了三个风扇panel,然后想用三个不同的timer控制每个风扇,所以我用了一个timer数组。现在风扇能正常启动关闭,但我想使用滑动条使每个风扇能够加速减速,使用如下代码

slider[temp].addChangeListener(new ChangeListener()
             {
                public void stateChanged(ChangeEvent event)
                {
                    timer[temp].setDelay(slider[temp].getValue()/10);
                }
             });

发现一旦滑动,每个风扇的速度都会改变,为什么呢?

  • 写回答

1条回答 默认 最新

  • Java毕设王 2023-06-28 09:13
    关注

    在Java中,java.util.Timer 类是用于在指定时间之后执行任务的工具类。它不支持直接使用数组来管理定时任务。

    如果您希望管理多个定时任务,可以考虑使用 java.util.TimerTask 类和 java.util.Timer 类的组合。您可以创建多个 TimerTask 对象,每个对象代表一个定时任务,然后使用 Timer 对象来调度这些任务。

    以下是一个示例代码,演示如何使用 Timer 和 TimerTask 来管理多个定时任务:

    import java.util.Timer;
    import java.util.TimerTask;
    
    public class TimerExample {
        public static void main(String[] args) {
            Timer timer = new Timer();
    
            // 创建多个定时任务
            TimerTask task1 = new TimerTask() {
                public void run() {
                    System.out.println("Task 1 is executed!");
                }
            };
    
            TimerTask task2 = new TimerTask() {
                public void run() {
                    System.out.println("Task 2 is executed!");
                }
            };
    
            // 将定时任务添加到定时器
            timer.schedule(task1, 1000); // 在1秒后执行task1
            timer.schedule(task2, 2000); // 在2秒后执行task2
        }
    }
    
    
    

    在上述示例中,我们创建了两个 TimerTask 对象 task1 和 task2,分别表示两个定时任务。然后使用 Timer 对象的 schedule() 方法将这些任务添加到定时器中,并指定执行时间。

    注意:在实际开发中,推荐使用更现代化的任务调度框架,如 java.util.concurrent.ScheduledExecutorService 接口和 java.util.concurrent.Executors 类,它们提供了更灵活和可扩展的定时任务管理方式。

    评论

报告相同问题?

悬赏问题

  • ¥15 C++ 句柄后台鼠标拖动如何实现
  • ¥15 有人会SIRIUS 5.8.0这个软件吗
  • ¥30 comsol仿真等离激元
  • ¥15 静电纺丝煅烧后如何得到柔性纤维
  • ¥15 (标签-react native|关键词-镜像源)
  • ¥100 照片生成3D人脸视频
  • ¥15 伪装视频时长问题修改MP4的时长问题,
  • ¥15 JETSON NANO
  • ¥15 VS开发qt时如何在paintgl函数中用pushbutton控制切换纹理
  • ¥20 关于 openpyxl 处理excel文件地问题