package curve;
import java.awt.*;
import java.awt.event.*;

public class AnimateDelayThread extends Thread {
  private Scrollbar scrollbar;
  private int delay,playSpeed;
  private boolean dispatchedEvent;
  
  public AnimateDelayThread(Scrollbar scrollbar,int playSpeed,int delay) {
    dispatchedEvent=false;
    this.scrollbar=scrollbar;
    this.playSpeed=playSpeed;
    this.delay=delay;
    setDaemon(true);
    start();
  };
  
  public void run() {
    try {
      Thread.sleep(delay);
    } catch (InterruptedException e) {};
    if(playSpeed==-1) {
      scrollbar.setValue(scrollbar.getValue()-1);
      scrollbar.dispatchEvent(new java.awt.event.AdjustmentEvent(
        scrollbar,AdjustmentEvent.ADJUSTMENT_VALUE_CHANGED,
        AdjustmentEvent.UNIT_DECREMENT,0));
    } else {
      scrollbar.setValue(scrollbar.getValue()+1);
      scrollbar.dispatchEvent(new java.awt.event.AdjustmentEvent(
        scrollbar,AdjustmentEvent.ADJUSTMENT_VALUE_CHANGED,
        AdjustmentEvent.UNIT_INCREMENT,0));
    };
    dispatchedEvent=true;
  };
  public boolean isFinished() {
    return dispatchedEvent;
  };
};