2010-05-11 77 views
5

当我运行我的应用程序时,出现此异常。我不知道这里发生了什么问题。有人可以帮忙吗?Java Swing GUI异常 - 线程“AWT-EventQueue-0”中的异常java.util.NoSuchElementException:向量枚举

异常在线程 “AWT-EventQueue的 - 0” java.util.NoSuchElementException:矢量枚举 在java.util.Vector中的$ 1.nextElement(Vector.java:305) 在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) javax.swing.ScrollPaneLayout.layoutContainer(ScrollPaneLayout.java:702) 在java.awt.Container.layout(Container.java:1421) 在java.awt.Container.doLayout(Container.java:1410) 在java.awt.Container.validateTree(Container.java:1507) at javax.swing.RepaintManager.validateInvalidComponents(RepaintManager.java:669) at javax。java.awt.Container.validate(Container.java:1480) 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) 在java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) 在java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) 在java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) 在java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) 在java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

回答

6

这样的问题,当您尝试更新外Swing组件通常发生事件调度线程(EDT)。

有关更多信息和解决方案,请参阅Concurrency的Swing教程。

还要确保使用SwingUtilities.invokeLater(...)在GUI上构建GUI。从Swing教程下载任何示例,您将看到如何完成此操作。由于您似乎正在使用JTable从“如何使用表”一节中的SimpleTableDemo开始。

相关问题