The Swing Event Dispatch Thread

Swing is thread-unsafe. But it is completely safe for you to create an EventTableModel or EventListModel that is updated by a non-Swing thread. This is because the EventTableModel uses a special proxy EventList, which receives updates from any source thread and fires them using the Swing event dispatch thread. To create such a proxy EventList, use the factory method GlazedListsSwing.swingThreadProxyList(EventList).

If your code must access the EventTableModel or other Swing classes, it should do so only on the Swing event dispatch thread. This is easy with the SwingUtilities.invokeLater() method.