Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Java Swing GUI exception - Exception in thread "AWT-EventQueue-0" java.util.NoSuchElementException: Vector Enumeration

I get this exception when i run my application. I dont have any idea what is going wrong here. Can someone help please.

Exception in thread "AWT-EventQueue-0" java.util.NoSuchElementException: Vector Enumeration at java.util.Vector$1.nextElement(Vector.java:305) at javax.swing.plaf.basic.BasicTableHeaderUI.getPreferredSize(BasicTableHeaderUI.java:778) at javax.swing.JComponent.getPreferredSize(JComponent.java:1634) at javax.swing.ViewportLayout.preferredLayoutSize(ViewportLayout.java:78) at java.awt.Container.preferredSize(Container.java:1599) at java.awt.Container.getPreferredSize(Container.java:1584) at javax.swing.JComponent.getPreferredSize(JComponent.java:1636) at javax.swing.ScrollPaneLayout.layoutContainer(ScrollPaneLayout.java:702) at java.awt.Container.layout(Container.java:1421) at java.awt.Container.doLayout(Container.java:1410) at java.awt.Container.validateTree(Container.java:1507) at java.awt.Container.validate(Container.java:1480) at javax.swing.RepaintManager.validateInvalidComponents(RepaintManager.java:669) at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:124) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209) at java.awt.EventQueue.dispatchEvent(EventQueue.java:597) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

like image 581
rgksugan Avatar asked May 11 '10 15:05

rgksugan


1 Answers

Problems like this generally happen when you try to update a Swing component outside of the Event Dispatch Thread (EDT).

Read the section from the Swing tutorial on Concurrency for more information and the solution.

Also make sure the GUI is built on the EDT by using SwingUtilities.invokeLater(...). Download any example from the Swing tutorial and you will see how this is done. Since you appear to be using a JTable start with the SimpleTableDemo from the section on "How to Use Tables".

like image 139
camickr Avatar answered Sep 28 '22 07:09

camickr