G
Guest
Gast
Hey!
Ich baue mein TreeModel anhand von Datenbank Objekten über Hibernate auf.
Lösche ich nun eines dieser Hibernate Objekte, schmeißt der Baum folgende Exception:
Ich gehe davon aus, dass der Baum das löschen des Objektes mit bekommt und in der Methode pathByAddingChild versucht auf eben dieses gelöschte Objekt zuzugreifen.
Kann mir jemand verraten wie ich das umgehen / verhindern kann?
Kann nach dem löschen der Objekte die Oberfläche nur abschießen, da sie ansonsten ncht mehr gezichnet wird.
Hoffe jmd. weiß Rat!
Danke und Gruß
Mark
Ich baue mein TreeModel anhand von Datenbank Objekten über Hibernate auf.
Lösche ich nun eines dieser Hibernate Objekte, schmeißt der Baum folgende Exception:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException: Null child not allowed
at javax.swing.tree.TreePath.pathByAddingChild(TreePath.java:259)
at javax.swing.plaf.basic.BasicTreeUI.getLastChildPath(BasicTreeUI.java:1672)
at javax.swing.plaf.basic.BasicTreeUI.paintVerticalPartOfLeg(BasicTreeUI.java:1391)
at javax.swing.plaf.synth.SynthTreeUI.paintVerticalPartOfLeg(SynthTreeUI.java:515)
at javax.swing.plaf.synth.SynthTreeUI.paint(SynthTreeUI.java:340)
at javax.swing.plaf.synth.SynthTreeUI.update(SynthTreeUI.java:226)
at javax.swing.JComponent.paintComponent(JComponent.java:763)
at javax.swing.JComponent.paint(JComponent.java:1027)
at javax.swing.JComponent.paintChildren(JComponent.java:864)
at javax.swing.JComponent.paint(JComponent.java:1036)
at javax.swing.JViewport.paint(JViewport.java:747)
at javax.swing.JComponent.paintChildren(JComponent.java:864)
at javax.swing.JComponent.paint(JComponent.java:1036)
at javax.swing.JComponent.paintChildren(JComponent.java:864)
at javax.swing.JComponent.paint(JComponent.java:1036)
at javax.swing.JComponent.paintChildren(JComponent.java:864)
at javax.swing.JSplitPane.paintChildren(JSplitPane.java:1030)
at javax.swing.JComponent.paint(JComponent.java:1036)
at javax.swing.JComponent.paintChildren(JComponent.java:864)
at javax.swing.JSplitPane.paintChildren(JSplitPane.java:1030)
at javax.swing.JComponent.paint(JComponent.java:1036)
at javax.swing.JComponent.paintChildren(JComponent.java:864)
at javax.swing.JComponent.paint(JComponent.java:1036)
at javax.swing.JComponent.paintChildren(JComponent.java:864)haltepunkt!
at javax.swing.JComponent.paint(JComponent.java:1036)
at javax.swing.JLayeredPane.paint(JLayeredPane.java:564)
at javax.swing.JComponent.paintChildren(JComponent.java:864)
at javax.swing.JComponent.paintToOffscreen(JComponent.java:5129)
at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1467)
at javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1398)
at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:293)
at javax.swing.RepaintManager.paint(RepaintManager.java:1213)
at javax.swing.JComponent.paint(JComponent.java:1013)
at java.awt.GraphicsCallback$PaintCallback.run(GraphicsCallback.java:21)
at sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:60)
at sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:97)
at java.awt.Container.paint(Container.java:1762)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:810)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:714)
at javax.swing.RepaintManager.seqPaintDirtyRegions(RepaintManager.java:694)
at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:128)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:284)
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)
Ich gehe davon aus, dass der Baum das löschen des Objektes mit bekommt und in der Methode pathByAddingChild versucht auf eben dieses gelöschte Objekt zuzugreifen.
Kann mir jemand verraten wie ich das umgehen / verhindern kann?
Kann nach dem löschen der Objekte die Oberfläche nur abschießen, da sie ansonsten ncht mehr gezichnet wird.
Hoffe jmd. weiß Rat!
Danke und Gruß
Mark