Advertisement
Guest User

Untitled

a guest
Mar 15th, 2012
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.05 KB | None | 0 0
  1. package java.awt;
  2.  
  3. import java.util.HashMap;
  4. import java.util.Map;
  5.  
  6. class SchedulingEventQueue extends EventQueue
  7.     {
  8.       // Use Map< AWTEvent, List< AWTEvent > > to support multiple events
  9.       private final Map< AWTEvent, AWTEvent > eventSchedule = new HashMap< AWTEvent, AWTEvent >();
  10.       private boolean processing = false;
  11.  
  12.       public void scheduleEvent( final AWTEvent event, final AWTEvent dependentEvent )
  13.       {
  14.         eventSchedule.put( dependentEvent, event );
  15.       }
  16.  
  17.       @Override
  18.     protected void dispatchEvent(final AWTEvent event) {
  19.         try {
  20.             processing = true;
  21.             super.dispatchEvent(event);
  22.             processing = false;
  23.         } finally {
  24.             // Dispatch any dependent event
  25.             AWTEvent scheduledEvent = eventSchedule.remove(event);
  26.             if (scheduledEvent != null) {
  27.                 postEvent(scheduledEvent);
  28.             }
  29.         }
  30.       }
  31.      
  32.       public boolean isEmpty() {
  33.           return eventSchedule.isEmpty() && (!processing);
  34.       }
  35.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement