Main.java Source code

Java tutorial

Introduction

Here is the source code for Main.java

Source

//package com.java2s;
/*
 This file belongs to the Servoy development and deployment environment, Copyright (C) 1997-2010 Servoy BV
    
 This program is free software; you can redistribute it and/or modify it under
 the terms of the GNU Affero General Public License as published by the Free
 Software Foundation; either version 3 of the License, or (at your option) any
 later version.
    
 This program is distributed in the hope that it will be useful, but WITHOUT
 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
    
 You should have received a copy of the GNU Affero General Public License along
 with this program; if not, see http://www.gnu.org/licenses or write to the Free
 Software Foundation,Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
 */

import java.awt.AWTEvent;
import java.awt.ActiveEvent;
import java.awt.Component;

public class Main {
    private static boolean isDispatching = false;

    private static void dispatchEventsUntilNow() {
        if (java.awt.EventQueue.isDispatchThread() && !isDispatching) {
            isDispatching = true;
            try {
                int handled = 0;
                java.awt.EventQueue eventQ = java.awt.Toolkit.getDefaultToolkit().getSystemEventQueue();
                class StopEvent extends AWTEvent {
                    StopEvent() {
                        super(new Object(), 0);
                    }
                }
                eventQ.postEvent(new StopEvent());
                while (true) {
                    try {
                        AWTEvent event = eventQ.getNextEvent();
                        if (event instanceof StopEvent) {
                            break;
                        }
                        if (event instanceof ActiveEvent) {
                            ((ActiveEvent) event).dispatch();
                        } else {
                            Object source = event.getSource();
                            if (source instanceof Component) {
                                Component comp = (Component) source;
                                comp.dispatchEvent(event);
                            }
                        }
                        handled++;
                    } catch (InterruptedException e) {
                        //hmm
                    }
                }
                //            Debug.trace("####dispatchEventsUntilNow handeld "+(handled)+" events");
            } finally {
                isDispatching = false;
            }
        }
    }
}