我现在想要播放一个图片和文本文件,怎样用Java swing timer 和Date类去控制图片播放的时间,比如图片播放20秒之后,结束图片播放,再开始播放文本文件,播放文本文件的时间为10,怎样实现,请各位高手帮我解答啊,或者给出一个小程序,我先在此谢谢各位了!!

解决方案 »

  1.   

    你想在程序中控制任务的执行时间,可以使用java.util.Timer这个类实现。
    使用Timer类需要一个继承了java.util.TimerTask的类。TimerTask是一个虚类,需要实现它的run方法,实际上是他implements了Runnable接口,而把run方法留给子类实现。你把你要执行的任务放在run()里即可.
    Timer类用schedule方法或者scheduleAtFixedRate方法启动定时执行.
      

  2.   

    谢谢大家的发言,请高手帮我看看,下面这个小程序,在点击button之后,通过时间控制如程序执行5秒后,给出一个结果或者退出当前程序啊,谢谢
    import java.awt.Button;
    import java.awt.Frame;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.util.Timer;
    import java.util.TimerTask;public class TimerController extends TimerTask {
    private static Timer baseTimer; // 调用本TimerTask类的Timer对象 public void run() {
    long NextTime; // 下一次执行的间隔时间
    NextTime = getNextTime();
    // baseTimer.schedule(new TimerController(), NextTime);
    System.out.println("程序停留" + NextTime/1000 + " 后执行了!!!");

    } private long getNextTime() {
    // TODO Auto-generated method stub
    return 2000;
    } public boolean setTimer(Timer timer) // 得到主程序调用本TimerTask的Timer对象,由主程序在初始化本类实例后调用
    {
    if (timer != null) {
    baseTimer = timer;
    return true;
    } else {
    return false;
    }
    } public static void main(String[] args) {
    Frame f = new Frame("Timer时间控制");
    Button b = new Button("开始");
    b.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) {
    TimerController timerTaskTest1 = new TimerController();
    Timer timer1 = new Timer();
    timerTaskTest1.setTimer(timer1);
    timer1.schedule(timerTaskTest1, 30000);
    System.out.println("程序停留" + 1000 + " 后执行了!!!");
    } });
    f.add(b);
    f.setSize(100, 60);
    f.setVisible(true);
    }}
    谢谢了!!!