home *** CD-ROM | disk | FTP | other *** search
/ S283 Planetary Science &n…he Search for Life DVD 2 / DVD-ROM.iso / install / jre1_3 / lib / rt.jar / javax / swing / text / LayoutQueue.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  1.1 KB  |  46 lines

  1. package javax.swing.text;
  2.  
  3. import java.util.Vector;
  4.  
  5. public class LayoutQueue {
  6.    Vector tasks = new Vector();
  7.    Thread worker;
  8.    static LayoutQueue defaultQueue;
  9.  
  10.    public static LayoutQueue getDefaultQueue() {
  11.       if (defaultQueue == null) {
  12.          defaultQueue = new LayoutQueue();
  13.       }
  14.  
  15.       return defaultQueue;
  16.    }
  17.  
  18.    public static void setDefaultQueue(LayoutQueue var0) {
  19.       defaultQueue = var0;
  20.    }
  21.  
  22.    public synchronized void addTask(Runnable var1) {
  23.       if (this.worker == null) {
  24.          this.worker = new LayoutThread(this);
  25.          this.worker.start();
  26.       }
  27.  
  28.       this.tasks.addElement(var1);
  29.       this.notifyAll();
  30.    }
  31.  
  32.    protected synchronized Runnable waitForWork() {
  33.       while(this.tasks.size() == 0) {
  34.          try {
  35.             this.wait();
  36.          } catch (InterruptedException var2) {
  37.             return null;
  38.          }
  39.       }
  40.  
  41.       Runnable var1 = (Runnable)this.tasks.firstElement();
  42.       this.tasks.removeElementAt(0);
  43.       return var1;
  44.    }
  45. }
  46.