Hallo zusammen,
ich habe ein Problem. Ein Thread befüllt nachdem mein JTable gefüllt ist das JTable neu bzw. fügt oder entfernt Zeilen. Sowie wird was an HashMaps geändert die aber wiederrum von dem Table im CellRenderer und anderen Listenern oder auch Renderern genutzt werden. Beim CellRenderer ist der ToolTip Aufruf das Problem.
Wenn man nun während das Table geändert wird mit der Maus über das Table fährt dann kommen schon mal NullPointer Exceptions, weil man genau den Zeitpunkt erwischt hat wo die HashMaps neu gemacht werden.
So nun zu meiner eigentlichen Frage. Gibt es einen einfacheren Weg dies zu verhindern?
Ich hatte mal an eine OverlayPane gedacht jedoch weiß ich nicht wie das mit dem Maus Event aussieht? Wird dieses dann auch an die untere Pane die das JTable beinhaltet weitergeleitet?
Der offensichtlichste Weg die Renderer und Listener zu entfernen und nachher wieder auf die Komponente zu setzen ist meine allerletzte Möglichkeit. Dies würde ich aber ungern machen. Grund dafür ist, dass man so sieht das sich was tut. Sprich neue Zeilen werden hinzugefügt ist ein visueller Effekt den ich ganz gerne behalten würde.
Hoffe auf gute Vorschläge.
Grüße
ich habe ein Problem. Ein Thread befüllt nachdem mein JTable gefüllt ist das JTable neu bzw. fügt oder entfernt Zeilen. Sowie wird was an HashMaps geändert die aber wiederrum von dem Table im CellRenderer und anderen Listenern oder auch Renderern genutzt werden. Beim CellRenderer ist der ToolTip Aufruf das Problem.
Wenn man nun während das Table geändert wird mit der Maus über das Table fährt dann kommen schon mal NullPointer Exceptions, weil man genau den Zeitpunkt erwischt hat wo die HashMaps neu gemacht werden.
So nun zu meiner eigentlichen Frage. Gibt es einen einfacheren Weg dies zu verhindern?
Ich hatte mal an eine OverlayPane gedacht jedoch weiß ich nicht wie das mit dem Maus Event aussieht? Wird dieses dann auch an die untere Pane die das JTable beinhaltet weitergeleitet?
Der offensichtlichste Weg die Renderer und Listener zu entfernen und nachher wieder auf die Komponente zu setzen ist meine allerletzte Möglichkeit. Dies würde ich aber ungern machen. Grund dafür ist, dass man so sieht das sich was tut. Sprich neue Zeilen werden hinzugefügt ist ein visueller Effekt den ich ganz gerne behalten würde.
Hoffe auf gute Vorschläge.
Grüße