Ich habe eine JTable mit eignem CellRenderer und eigenem Editor programmiert.
Die Daten sind im TableModel in einem Vector<String> gespeichert.
Das Problem ist folgendes:
Wenn ich mehrere Zeilen selektiere und lösche, und sofort danach wieder Zeilen selektiere kann es zu einer ArrayIndexOutOfBounds-Exception kommen.
Wenn ich nicht sofort nach dem löschen etwas selektiere, tritt das Problem nicht auf.
Meine Vermutung ist, da bei einer Table mit Events gearbeitet wird und Events parallel ablaufende Prozesse sind, das wenn Zeilen gelöscht werden andere Events auf nicht mehr existierende Elemente das Vectors zugreifen.
Ich weiß im Moment nicht wie ich dieses Problem beseitigen kann.
Ein Vector ist threadsicher und die Methoden die Werte im Vector lesen, verändern wurden von mir als synchronized deklariert.
Kennt jemand das Problem?
Wie kann ich das beseitigen?
Die Daten sind im TableModel in einem Vector<String> gespeichert.
Das Problem ist folgendes:
Wenn ich mehrere Zeilen selektiere und lösche, und sofort danach wieder Zeilen selektiere kann es zu einer ArrayIndexOutOfBounds-Exception kommen.
Wenn ich nicht sofort nach dem löschen etwas selektiere, tritt das Problem nicht auf.
Meine Vermutung ist, da bei einer Table mit Events gearbeitet wird und Events parallel ablaufende Prozesse sind, das wenn Zeilen gelöscht werden andere Events auf nicht mehr existierende Elemente das Vectors zugreifen.
Ich weiß im Moment nicht wie ich dieses Problem beseitigen kann.
Ein Vector ist threadsicher und die Methoden die Werte im Vector lesen, verändern wurden von mir als synchronized deklariert.
Kennt jemand das Problem?
Wie kann ich das beseitigen?