home *** CD-ROM | disk | FTP | other *** search
/ PC Pro 1999 April / DPPCPRO0499.ISO / April / Notes / 50b2wic.exe / DATA1.CAB / NotesProgramFilesJavaSupport / rt.jar / java / awt / EventDispatchThread.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-04-23  |  1.6 KB  |  48 lines

  1. package java.awt;
  2.  
  3. import java.awt.peer.ActiveEvent;
  4. import java.util.EventObject;
  5.  
  6. class EventDispatchThread extends Thread {
  7.    private EventQueue theQueue;
  8.    private boolean doDispatch = true;
  9.  
  10.    EventDispatchThread(String var1, EventQueue var2) {
  11.       super(var1);
  12.       this.theQueue = var2;
  13.    }
  14.  
  15.    public void stopDispatching() {
  16.       this.doDispatch = false;
  17.       this.theQueue.postEvent(new EmptyEvent(this));
  18.       if (Thread.currentThread() != this) {
  19.          try {
  20.             ((Thread)this).join();
  21.          } catch (InterruptedException var1) {
  22.          }
  23.       }
  24.    }
  25.  
  26.    public void run() {
  27.       while(this.doDispatch) {
  28.          try {
  29.             AWTEvent var1 = this.theQueue.getNextEvent();
  30.             Object var2 = ((EventObject)var1).getSource();
  31.             if (var2 instanceof Component) {
  32.                ((Component)var2).dispatchEvent(var1);
  33.             } else if (var2 instanceof MenuComponent) {
  34.                ((MenuComponent)var2).dispatchEvent(var1);
  35.             } else if (var1 instanceof ActiveEvent) {
  36.                ((ActiveEvent)var1).dispatch();
  37.             }
  38.          } catch (ThreadDeath var3) {
  39.             return;
  40.          } catch (Throwable var4) {
  41.             System.err.println("Exception occurred during event dispatching:");
  42.             var4.printStackTrace();
  43.          }
  44.       }
  45.  
  46.    }
  47. }
  48.