java.awt.EventQueue#getNextEvent()源码实例Demo

下面列出了java.awt.EventQueue#getNextEvent() 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: xdm   文件: XDMFrame.java
private synchronized void startModal(Component comp) {
	try {
		if (SwingUtilities.isEventDispatchThread()) {
			EventQueue theQueue = Toolkit.getDefaultToolkit().getSystemEventQueue();
			while (comp.isVisible()) {
				AWTEvent event = theQueue.getNextEvent();
				Object source = event.getSource();
				if (event instanceof ActiveEvent) {
					((ActiveEvent) event).dispatch();
				} else if (source instanceof Component) {
					((Component) source).dispatchEvent(event);
				} else if (source instanceof MenuComponent) {
					((MenuComponent) source).dispatchEvent(event);
				} else {
					System.err.println("Unable to dispatch: " + event);
				}
			}
		} else {
			while (comp.isVisible()) {
				wait();
			}
		}
	} catch (InterruptedException ignored) {
	}
}
 
源代码2 项目: JsDroidCmd   文件: SwingGui.java
/**
 * Processes the next GUI event.
 */
public void dispatchNextGuiEvent() throws InterruptedException {
    EventQueue queue = awtEventQueue;
    if (queue == null) {
        queue = Toolkit.getDefaultToolkit().getSystemEventQueue();
        awtEventQueue = queue;
    }
    AWTEvent event = queue.getNextEvent();
    if (event instanceof ActiveEvent) {
        ((ActiveEvent)event).dispatch();
    } else {
        Object source = event.getSource();
        if (source instanceof Component) {
            Component comp = (Component)source;
            comp.dispatchEvent(event);
        } else if (source instanceof MenuComponent) {
            ((MenuComponent)source).dispatchEvent(event);
        }
    }
}
 
源代码3 项目: astor   文件: SwingGui.java
/**
 * Processes the next GUI event.
 */
public void dispatchNextGuiEvent() throws InterruptedException {
    EventQueue queue = awtEventQueue;
    if (queue == null) {
        queue = Toolkit.getDefaultToolkit().getSystemEventQueue();
        awtEventQueue = queue;
    }
    AWTEvent event = queue.getNextEvent();
    if (event instanceof ActiveEvent) {
        ((ActiveEvent)event).dispatch();
    } else {
        Object source = event.getSource();
        if (source instanceof Component) {
            Component comp = (Component)source;
            comp.dispatchEvent(event);
        } else if (source instanceof MenuComponent) {
            ((MenuComponent)source).dispatchEvent(event);
        }
    }
}
 
源代码4 项目: netbeans   文件: ExtTestCase.java
/** Drain the event queue.  ONLY CALL THIS METHOD FROM THE EVENT DISPATCH
 * THREAD OR IT WILL DO BAD THINGS! */
private static void drainEventQueue() throws Exception {
    AWTEvent evt = EventQueue.getCurrentEvent();
    //Dispatch any events that the code that just ran may have generated,
    //so dialogs appear, things get focus and paint, stuff like that
    while (Toolkit.getDefaultToolkit().getSystemEventQueue().peekEvent() != null) {
        //do fetch this every time, its value can change
        EventQueue queue = Toolkit.getDefaultToolkit().getSystemEventQueue();
        evt = queue.getNextEvent();
        dispatchEvent(queue, evt);
    }
}
 
源代码5 项目: pdfxtk   文件: Swing.java
public static void startModal(javax.swing.JInternalFrame f) {
   synchronized(f) {
     /* Since all input will be blocked until this dialog is dismissed,
      * make sure its parent containers are visible first (this component
      * is tested below).  This is necessary for JApplets, because
      * because an applet normally isn't made visible until after its
      * start() method returns -- if this method is called from start(),
      * the applet will appear to hang while an invisible modal frame
      * waits for input.
      */
     
     if (f.isVisible() && !f.isShowing()) {
Container parent = f.getParent();
while (parent != null) {
  if (parent.isVisible() == false) {
    parent.setVisible(true);
  }
  parent = parent.getParent();
}
     }

     try {
if (SwingUtilities.isEventDispatchThread()) {
  EventQueue theQueue = f.getToolkit().getSystemEventQueue();
  while (f.isVisible()) {
    // This is essentially the body of EventDispatchThread
    AWTEvent event = theQueue.getNextEvent();
    Object src = event.getSource();
    // can't call theQueue.dispatchEvent, so I pasted it's body here
    /*if (event instanceof ActiveEvent) {
      ((ActiveEvent) event).dispatch();
      } else */ if (src instanceof Component) {
	((Component) src).dispatchEvent(event);
      } else if (src instanceof MenuComponent) {
	((MenuComponent) src).dispatchEvent(event);
      } else {
	System.err.println("unable to dispatch event: " + event);
      }
  }
} else
  while (f.isVisible())
    f.wait();
     } catch(InterruptedException e){}
   }
 }