History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: IDEADEV-10445
Type: Bug Bug
Status: Open Open
Priority: Major Major
Assignee: Dmitry Jemerov
Reporter: Alexander Chernikov
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
IDEA: Development

GUI Designer: catch exceptions not only on loading component class, but also on painting it

Created: 30 Sep 06 22:28   Updated: 28 Sep 07 16:48
Component/s: GUI Designer
Fix Version/s: Diana Final

Original Estimate: Unknown Remaining Estimate: Unknown Time Spent: Unknown

Build: 5,757


 Description  « Hide
GUI Designer. Create a custom component A that use another class B (invokes static method of that class in my case). Compile. Put component on GUI form. Close form.
Delete B.class file. Try to reopen form. UI hangs up during this action, the eternal chain of NoClassDefFoundErrors is in console.
(Notice, that deleting A.class file is processed correctly: no hang up + error message.)
java.lang.NoClassDefFoundError: util/FindMe
        at guid.sashache.OverriddenCellRenderer.getTreeCellRendererComponent(OverriddenTree.java:29)
        at javax.swing.plaf.basic.BasicTreeUI$NodeDimensionsHandler.getNodeDimensions(BasicTreeUI.java:2693)
        at javax.swing.tree.AbstractLayoutCache.getNodeDimensions(AbstractLayoutCache.java:475)
        at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.updatePreferredSize(VariableHeightLayoutCache.java:1342)
        at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getPreferredWidth(VariableHeightLayoutCache.java:1159)
        at javax.swing.tree.VariableHeightLayoutCache.getMaxNodeWidth(VariableHeightLayoutCache.java:990)
        at javax.swing.tree.VariableHeightLayoutCache.getPreferredWidth(VariableHeightLayoutCache.java:291)
        at javax.swing.plaf.basic.BasicTreeUI.updateCachedPreferredSize(BasicTreeUI.java:1743)
        at javax.swing.plaf.basic.BasicTreeUI.getPreferredSize(BasicTreeUI.java:1901)
        at javax.swing.plaf.basic.BasicTreeUI.getPreferredSize(BasicTreeUI.java:1889)
        at javax.swing.JComponent.getPreferredSize(JComponent.java:1615)
        at java.awt.FlowLayout.layoutContainer(FlowLayout.java:485)
        at java.awt.Container.layout(Container.java:1401)
        at java.awt.Container.doLayout(Container.java:1390)
        at java.awt.Container.validateTree(Container.java:1473)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validate(Container.java:1448)
        at javax.swing.plaf.basic.BasicTabbedPaneUI.ensureCurrentLayout(BasicTabbedPaneUI.java:1227)
        at javax.swing.plaf.basic.BasicTabbedPaneUI.getTabBounds(BasicTabbedPaneUI.java:1247)
        at javax.swing.JTabbedPane.getBoundsAt(JTabbedPane.java:1117)
        at javax.swing.JTabbedPane.setForegroundAt(JTabbedPane.java:1315)
        at com.intellij.ui.TabbedPaneWrapper.setForegroundAt(TabbedPaneWrapper.java:64)
        at com.intellij.openapi.fileEditor.impl.EditorWindow.setForegroundAt(EditorWindow.java:431)
        at com.intellij.openapi.fileEditor.impl.EditorsSplitters.updateFileColor(EditorsSplitters.java:184)
        at com.intellij.openapi.fileEditor.impl.EditorWindow.setEditor(EditorWindow.java:173)
        at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.openFileImpl3(FileEditorManagerImpl.java:445)
        at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl$4.run(FileEditorManagerImpl.java:2)
        at com.intellij.openapi.command.impl.CommandProcessorImpl.executeCommand(CommandProcessorImpl.java:115)
        at com.intellij.openapi.command.impl.CommandProcessorImpl.executeCommand(CommandProcessorImpl.java:111)
        at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.openFileImpl2(FileEditorManagerImpl.java:182)
        at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.a(FileEditorManagerImpl.java:298)
        at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.openFileWithProviders(FileEditorManagerImpl.java:449)
        at com.intellij.openapi.fileEditor.ex.FileEditorManagerEx.openFile(FileEditorManagerEx.java)
        at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl$5.run(FileEditorManagerImpl.java:6)
        at com.intellij.openapi.command.impl.CommandProcessorImpl.executeCommand(CommandProcessorImpl.java:132)
        at com.intellij.openapi.command.impl.CommandProcessorImpl.executeCommand(CommandProcessorImpl.java:111)
        at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.openEditor(FileEditorManagerImpl.java:362)
        at com.intellij.openapi.fileEditor.OpenFileDescriptor.openFileAskingType(OpenFileDescriptor.java:129)
        at com.intellij.openapi.fileEditor.OpenFileDescriptor.navigate(OpenFileDescriptor.java:95)
        at com.intellij.psi.impl.source.TreeWrapperPsiElement.navigate(TreeWrapperPsiElement.java:32)
        at com.intellij.ide.projectView.impl.nodes.BasePsiNode.navigate(BasePsiNode.java:32)
        at com.intellij.util.OpenSourceUtil.navigate(OpenSourceUtil.java:40)
        at com.intellij.util.OpenSourceUtil.openSourcesFrom(OpenSourceUtil.java:29)
        at com.intellij.util.EditSourceOnDoubleClickHandler$1.mouseClicked(EditSourceOnDoubleClickHandler.java:49)
        at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:212)
        at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:211)
        at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:211)
        at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:211)
        at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:211)
        at java.awt.Component.processMouseEvent(Component.java:5491)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
        at com.intellij.util.ui.Tree.processMouseEvent(Tree.java:71)
        at java.awt.Component.processEvent(Component.java:5253)
        at java.awt.Container.processEvent(Container.java:1966)
        at java.awt.Component.dispatchEventImpl(Component.java:3955)
        at java.awt.Container.dispatchEventImpl(Container.java:2024)
        at java.awt.Component.dispatchEvent(Component.java:3803)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3901)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
        at java.awt.Container.dispatchEventImpl(Container.java:2010)
        at java.awt.Window.dispatchEventImpl(Window.java:1778)
        at java.awt.Component.dispatchEvent(Component.java:3803)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
        at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:103)
        at com.intellij.ide.IdeEventQueue.a(IdeEventQueue.java:125)
        at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:189)
        at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
[  31125]  ERROR - com.intellij.ide.IdeEventQueue - Error during dispatching of java.awt.event.MouseEvent[MOUSE_CLICKED,(182,277),button=1,modifiers=Button1,clickCount=2] on frame0
java.lang.NoClassDefFoundError: util/FindMe
        at guid.sashache.OverriddenCellRenderer.getTreeCellRendererComponent(OverriddenTree.java:29)
        at javax.swing.plaf.basic.BasicTreeUI$NodeDimensionsHandler.getNodeDimensions(BasicTreeUI.java:2693)
        at javax.swing.tree.AbstractLayoutCache.getNodeDimensions(AbstractLayoutCache.java:475)
        at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.updatePreferredSize(VariableHeightLayoutCache.java:1342)
        at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getPreferredWidth(VariableHeightLayoutCache.java:1159)
        at javax.swing.tree.VariableHeightLayoutCache.getMaxNodeWidth(VariableHeightLayoutCache.java:990)
        at javax.swing.tree.VariableHeightLayoutCache.getPreferredWidth(VariableHeightLayoutCache.java:291)
        at javax.swing.plaf.basic.BasicTreeUI.updateCachedPreferredSize(BasicTreeUI.java:1743)
        at javax.swing.plaf.basic.BasicTreeUI.getPreferredSize(BasicTreeUI.java:1901)
        at javax.swing.plaf.basic.BasicTreeUI.getPreferredSize(BasicTreeUI.java:1889)
        at javax.swing.JComponent.getPreferredSize(JComponent.java:1615)
        at java.awt.FlowLayout.layoutContainer(FlowLayout.java:485)
        at java.awt.Container.layout(Container.java:1401)
        at java.awt.Container.doLayout(Container.java:1390)
        at java.awt.Container.validateTree(Container.java:1473)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validate(Container.java:1448)
        at javax.swing.plaf.basic.BasicTabbedPaneUI.ensureCurrentLayout(BasicTabbedPaneUI.java:1227)
        at javax.swing.plaf.basic.BasicTabbedPaneUI.getTabBounds(BasicTabbedPaneUI.java:1247)
        at javax.swing.JTabbedPane.getBoundsAt(JTabbedPane.java:1117)
        at javax.swing.JTabbedPane.setForegroundAt(JTabbedPane.java:1315)
        at com.intellij.ui.TabbedPaneWrapper.setForegroundAt(TabbedPaneWrapper.java:64)
        at com.intellij.openapi.fileEditor.impl.EditorWindow.setForegroundAt(EditorWindow.java:431)
        at com.intellij.openapi.fileEditor.impl.EditorsSplitters.updateFileColor(EditorsSplitters.java:184)
        at com.intellij.openapi.fileEditor.impl.EditorWindow.setEditor(EditorWindow.java:173)
        at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.openFileImpl3(FileEditorManagerImpl.java:445)
        at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl$4.run(FileEditorManagerImpl.java:2)
        at com.intellij.openapi.command.impl.CommandProcessorImpl.executeCommand(CommandProcessorImpl.java:115)
        at com.intellij.openapi.command.impl.CommandProcessorImpl.executeCommand(CommandProcessorImpl.java:111)
        at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.openFileImpl2(FileEditorManagerImpl.java:182)
        at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.a(FileEditorManagerImpl.java:298)
        at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.openFileWithProviders(FileEditorManagerImpl.java:449)
        at com.intellij.openapi.fileEditor.ex.FileEditorManagerEx.openFile(FileEditorManagerEx.java)
        at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl$5.run(FileEditorManagerImpl.java:6)
        at com.intellij.openapi.command.impl.CommandProcessorImpl.executeCommand(CommandProcessorImpl.java:132)
        at com.intellij.openapi.command.impl.CommandProcessorImpl.executeCommand(CommandProcessorImpl.java:111)
        at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.openEditor(FileEditorManagerImpl.java:362)
        at com.intellij.openapi.fileEditor.OpenFileDescriptor.openFileAskingType(OpenFileDescriptor.java:129)
        at com.intellij.openapi.fileEditor.OpenFileDescriptor.navigate(OpenFileDescriptor.java:95)
        at com.intellij.psi.impl.source.TreeWrapperPsiElement.navigate(TreeWrapperPsiElement.java:32)
        at com.intellij.ide.projectView.impl.nodes.BasePsiNode.navigate(BasePsiNode.java:32)
        at com.intellij.util.OpenSourceUtil.navigate(OpenSourceUtil.java:40)
        at com.intellij.util.OpenSourceUtil.openSourcesFrom(OpenSourceUtil.java:29)
        at com.intellij.util.EditSourceOnDoubleClickHandler$1.mouseClicked(EditSourceOnDoubleClickHandler.java:49)
        at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:212)
        at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:211)
        at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:211)
        at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:211)
        at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:211)
        at java.awt.Component.processMouseEvent(Component.java:5491)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
        at com.intellij.util.ui.Tree.processMouseEvent(Tree.java:71)
        at java.awt.Component.processEvent(Component.java:5253)
        at java.awt.Container.processEvent(Container.java:1966)
        at java.awt.Component.dispatchEventImpl(Component.java:3955)
        at java.awt.Container.dispatchEventImpl(Container.java:2024)
        at java.awt.Component.dispatchEvent(Component.java:3803)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3901)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
        at java.awt.Container.dispatchEventImpl(Container.java:2010)
        at java.awt.Window.dispatchEventImpl(Window.java:1778)
        at java.awt.Component.dispatchEvent(Component.java:3803)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
        at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:103)
        at com.intellij.ide.IdeEventQueue.a(IdeEventQueue.java:125)
        at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:189)
        at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
[  31156]  ERROR - com.intellij.ide.IdeEventQueue - IntelliJ IDEA 6.0  Build #5766
[  31172]  ERROR - com.intellij.ide.IdeEventQueue - JDK: 1.5.0_08
[  31172]  ERROR - com.intellij.ide.IdeEventQueue - VM: Java HotSpot(TM) Client VM
[  31172]  ERROR - com.intellij.ide.IdeEventQueue - Vendor: Sun Microsystems Inc.
[  31172]  ERROR - com.intellij.ide.IdeEventQueue - OS: Windows XP
[  31172]  ERROR - com.intellij.ide.IdeEventQueue - Last Action:

....

java.lang.NoClassDefFoundError: util/FindMe
        at guid.sashache.OverriddenCellRenderer.getTreeCellRendererComponent(OverriddenTree.java:28)
        at javax.swing.plaf.basic.BasicTreeUI$NodeDimensionsHandler.getNodeDimensions(BasicTreeUI.java:2693)
        at javax.swing.tree.AbstractLayoutCache.getNodeDimensions(AbstractLayoutCache.java:475)
        at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.updatePreferredSize(VariableHeightLayoutCache.java:1342)
        at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getPreferredWidth(VariableHeightLayoutCache.java:1159)
        at javax.swing.tree.VariableHeightLayoutCache.getMaxNodeWidth(VariableHeightLayoutCache.java:990)
        at javax.swing.tree.VariableHeightLayoutCache.getPreferredWidth(VariableHeightLayoutCache.java:291)
        at javax.swing.plaf.basic.BasicTreeUI.updateCachedPreferredSize(BasicTreeUI.java:1743)
        at javax.swing.plaf.basic.BasicTreeUI.getPreferredSize(BasicTreeUI.java:1901)
        at javax.swing.plaf.basic.BasicTreeUI.getPreferredSize(BasicTreeUI.java:1889)
        at javax.swing.JComponent.getPreferredSize(JComponent.java:1615)
        at java.awt.FlowLayout.layoutContainer(FlowLayout.java:485)
        at java.awt.Container.layout(Container.java:1401)
        at java.awt.Container.doLayout(Container.java:1390)
        at java.awt.Container.validateTree(Container.java:1473)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validate(Container.java:1448)
        at javax.swing.RepaintManager.validateInvalidComponents(RepaintManager.java:379)
        at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:113)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
        at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:1)
        at com.intellij.ide.IdeEventQueue.a(IdeEventQueue.java:147)
        at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:185)
        at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
[ 820630]  ERROR - com.intellij.ide.IdeEventQueue - Error during dispatching of java.awt.event.InvocationEvent[INVOCATION_DEFAULT,runnable=javax.swing.SystemEventQueueUtilities$ComponentWorkRequest@1b7a9c1,notifier=null,catchExceptions=false,when=1159640394536] on sun.awt.windows.WToolkit@1664cde
java.lang.NoClassDefFoundError: util/FindMe
        at guid.sashache.OverriddenCellRenderer.getTreeCellRendererComponent(OverriddenTree.java:28)
        at javax.swing.plaf.basic.BasicTreeUI$NodeDimensionsHandler.getNodeDimensions(BasicTreeUI.java:2693)
        at javax.swing.tree.AbstractLayoutCache.getNodeDimensions(AbstractLayoutCache.java:475)
        at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.updatePreferredSize(VariableHeightLayoutCache.java:1342)
        at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getPreferredWidth(VariableHeightLayoutCache.java:1159)
        at javax.swing.tree.VariableHeightLayoutCache.getMaxNodeWidth(VariableHeightLayoutCache.java:990)
        at javax.swing.tree.VariableHeightLayoutCache.getPreferredWidth(VariableHeightLayoutCache.java:291)
        at javax.swing.plaf.basic.BasicTreeUI.updateCachedPreferredSize(BasicTreeUI.java:1743)
        at javax.swing.plaf.basic.BasicTreeUI.getPreferredSize(BasicTreeUI.java:1901)
        at javax.swing.plaf.basic.BasicTreeUI.getPreferredSize(BasicTreeUI.java:1889)
        at javax.swing.JComponent.getPreferredSize(JComponent.java:1615)
        at java.awt.FlowLayout.layoutContainer(FlowLayout.java:485)
        at java.awt.Container.layout(Container.java:1401)
        at java.awt.Container.doLayout(Container.java:1390)
        at java.awt.Container.validateTree(Container.java:1473)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validateTree(Container.java:1480)
        at java.awt.Container.validate(Container.java:1448)
        at javax.swing.RepaintManager.validateInvalidComponents(RepaintManager.java:379)
        at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:113)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
        at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:1)
        at com.intellij.ide.IdeEventQueue.a(IdeEventQueue.java:147)
        at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:185)
        at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)


 All   Comments   Work Log   Change History      Sort Order:
Alexander Chernikov - 02 Oct 06 17:49
The common problem is that UI Designer check classes availability on loading component's class, but does not check their availability on painting them. Another case to reproduce: custom component:
import java.awt.Graphics;
import javax.swing.JButton;

public class JButtonSurprise extends JButton {
	public JButtonSurprise() {
		super();
	}

	public void paint(Graphics g) {
		super.paint(g);
		Object o = null;
		o.toString();
	}
}

and exception, started with:

{format}
java.lang.NullPointerException
at guid.sashache.JButtonSurprise.paint(JButtonSurprise.java:19)
at javax.swing.JComponent.paintChildren(JComponent.java:842)
at javax.swing.JComponent.paint(JComponent.java:1014)
at javax.swing.JComponent.paintChildren(JComponent.java:842)
at javax.swing.JComponent.paint(JComponent.java:1014)
at javax.swing.JComponent.paintChildren(JComponent.java:842)
at javax.swing.JComponent.paint(JComponent.java:1014)
at javax.swing.JLayeredPane.paint(JLayeredPane.java:559)
at javax.swing.JComponent.paintChildren(JComponent.java:842)
at javax.swing.JComponent.paint(JComponent.java:1014)
at javax.swing.JViewport.paint(JViewport.java:728)
at javax.swing.JComponent.paintChildren(JComponent.java:842)
at javax.swing.JComponent.paint(JComponent.java:1014)
at javax.swing.JComponent.paintChildren(JComponent.java:842)
at javax.swing.JComponent.paint(JComponent.java:1014)
at javax.swing.JComponent.paintChildren(JComponent.java:842)
at javax.swing.JComponent.paint(JComponent.java:1014)
at javax.swing.JComponent.paintChildren(JComponent.java:842)
at javax.swing.JComponent.paint(JComponent.java:1014)
at javax.swing.JComponent.paintChildren(JComponent.java:842)
at javax.swing.JComponent.paint(JComponent.java:1014)
at javax.swing.JComponent.paintChildren(JComponent.java:842)
at javax.swing.JComponent.paint(JComponent.java:1014)
at javax.swing.JComponent.paintChildren(JComponent.java:842)
at javax.swing.JComponent.paint(JComponent.java:1014)
at javax.swing.JComponent.paintChildren(JComponent.java:842)
at javax.swing.JComponent.paint(JComponent.java:1014)
at javax.swing.JComponent.paintChildren(JComponent.java:842)
at javax.swing.JComponent.paint(JComponent.java:1014)
at com.intellij.openapi.fileEditor.impl.EditorTabbedContainer$MyTabbedPane.paint(EditorTabbedContainer.java:90)
at javax.swing.JComponent.paintWithOffscreenBuffer(JComponent.java:4963)
at javax.swing.JComponent.paintDoubleBuffered(JComponent.java:4916)
at javax.swing.JComponent._paintImmediately(JComponent.java:4859)
at javax.swing.JComponent.paintImmediately(JComponent.java:4666)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:451)
at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:114)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:103)
at com.intellij.ide.IdeEventQueue.a(IdeEventQueue.java:15)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:189)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
[ 399730] ERROR - com.intellij.ide.IdeEventQueue - Error during dispatching of java.awt.event.InvocationEvent[INVOCATION_DEFAULT,runnable=javax.swing.SystemEventQueueUtilities$ComponentWorkRequest@2b1f62,notifier=null,catchExceptions=false,when=1159796186786] on sun.awt.windows.WToolkit@1664cde
java.lang.NullPointerException
at guid.sashache.JButtonSurprise.paint(JButtonSurprise.java:19)
at javax.swing.JComponent.paintChildren(JComponent.java:842)
at javax.swing.JComponent.paint(JComponent.java:1014)
at javax.swing.JComponent.paintChildren(JComponent.java:842)
at javax.swing.JComponent.paint(JComponent.java:1014)
at javax.swing.JComponent.paintChildren(JComponent.java:842)
at javax.swing.JComponent.paint(JComponent.java:1014)
at javax.swing.JLayeredPane.paint(JLayeredPane.java:559)
at javax.swing.JComponent.paintChildren(JComponent.java:842)
at javax.swing.JComponent.paint(JComponent.java:1014)
at javax.swing.JViewport.paint(JViewport.java:728)
at javax.swing.JComponent.paintChildren(JComponent.java:842)
at javax.swing.JComponent.paint(JComponent.java:1014)
at javax.swing.JComponent.paintChildren(JComponent.java:842)
at javax.swing.JComponent.paint(JComponent.java:1014)
at javax.swing.JComponent.paintChildren(JComponent.java:842)
at javax.swing.JComponent.paint(JComponent.java:1014)
at javax.swing.JComponent.paintChildren(JComponent.java:842)
at javax.swing.JComponent.paint(JComponent.java:1014)
at javax.swing.JComponent.paintChildren(JComponent.java:842)
at javax.swing.JComponent.paint(JComponent.java:1014)
at javax.swing.JComponent.paintChildren(JComponent.java:842)
at javax.swing.JComponent.paint(JComponent.java:1014)
at javax.swing.JComponent.paintChildren(JComponent.java:842)
at javax.swing.JComponent.paint(JComponent.java:1014)
at javax.swing.JComponent.paintChildren(JComponent.java:842)
at javax.swing.JComponent.paint(JComponent.java:1014)
at javax.swing.JComponent.paintChildren(JComponent.java:842)
at javax.swing.JComponent.paint(JComponent.java:1014)
at com.intellij.openapi.fileEditor.impl.EditorTabbedContainer$MyTabbedPane.paint(EditorTabbedContainer.java:90)
at javax.swing.JComponent.paintWithOffscreenBuffer(JComponent.java:4963)
at javax.swing.JComponent.paintDoubleBuffered(JComponent.java:4916)
at javax.swing.JComponent._paintImmediately(JComponent.java:4859)
at javax.swing.JComponent.paintImmediately(JComponent.java:4666)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:451)
at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:114)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:103)
at com.intellij.ide.IdeEventQueue.a(IdeEventQueue.java:15)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:189)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
[ 399761] ERROR - com.intellij.ide.IdeEventQueue - IntelliJ IDEA 6.0 Build #5766
[ 399761] ERROR - com.intellij.ide.IdeEventQueue - JDK: 1.5.0_08
[ 399761] ERROR - com.intellij.ide.IdeEventQueue - VM: Java HotSpot(TM) Client VM
[ 399761] ERROR - com.intellij.ide.IdeEventQueue - Vendor: Sun Microsystems Inc.
[ 399777] ERROR - com.intellij.ide.IdeEventQueue - OS: Windows XP{format}

The case above does not look like real user story, but real applications also affected with this bug - checked with ArgoUML.