AWT event dispatch thread is a background thread used to process events from the AWT event queue. Swing “single-threaded” model requires that all visual modifications are done from this Thread. You should Use SwingUtilities class to request execution of your code in the Event Dispatch Thread from other threads.
Lack of understanding for Event Dispatch Thread and other Swing Threading issues is the source of most Swing application problems.