home *** CD-ROM | disk | FTP | other *** search
- package java.awt;
-
- import java.awt.peer.ActiveEvent;
- import java.util.EventObject;
-
- class EventDispatchThread extends Thread {
- private EventQueue theQueue;
- private boolean doDispatch = true;
-
- EventDispatchThread(String var1, EventQueue var2) {
- super(var1);
- this.theQueue = var2;
- }
-
- public void stopDispatching() {
- this.doDispatch = false;
- this.theQueue.postEvent(new EmptyEvent(this));
- if (Thread.currentThread() != this) {
- try {
- ((Thread)this).join();
- } catch (InterruptedException var1) {
- }
- }
- }
-
- public void run() {
- while(this.doDispatch) {
- try {
- AWTEvent var1 = this.theQueue.getNextEvent();
- Object var2 = ((EventObject)var1).getSource();
- if (var2 instanceof Component) {
- ((Component)var2).dispatchEvent(var1);
- } else if (var2 instanceof MenuComponent) {
- ((MenuComponent)var2).dispatchEvent(var1);
- } else if (var1 instanceof ActiveEvent) {
- ((ActiveEvent)var1).dispatch();
- }
- } catch (ThreadDeath var3) {
- return;
- } catch (Throwable var4) {
- System.err.println("Exception occurred during event dispatching:");
- var4.printStackTrace();
- }
- }
-
- }
- }
-