JTable: ganze Zeile markieren, merkwürdiges Verhalten

DarthShader

Erfahrenes Mitglied
Hallo,

ich würde gerne erreichen, dass man in einem JTable nur genau eine Zeile markieren kann und zwar durch das Anklicken einer beliebigen Zelle in jener Zeile.

Momentan bin ich etwas verwirrt - ich habe "selectionMode" auf "ListSelectionModel.SINGLE_SELECTION" gesetzt, und auch "rowSelectionAllowed" ist auf true, "cellSelectionEnabled" jedoch auf "false" (da ich nicht einzelne Zellen markieren will).

Ich habe außerdem einen eigenen CellRenderer, der bei "isSelected" seinen Hintergrund auf eine bestimmte Farbe setzt.

Klicke ich nun auf meine Tabelle, so werden bei 5 Spalten nur die letzten 4 markiert, die 1. nicht. Klicke ich nochmal, wird auch die 1. Spalte markiert. Klicke ich auf eine andere Zeile, wird diese markiert (ohne 1. Spalte), die 1. Spalte der zuvor markierten Zeile bleibt markiert, und so geht es verwirrend weiter :) Ich kann jedenfalls nicht wirklich ein Muster erkennen. Anscheinend hat die 1. Spalte irgendeine spezielle bedeutung?

Nun die knappe Frage - wie stelle ich es richtig an, dass ich nur eine Zeile, und zwar die ganze Zeile, markiere? Müsste ich dazu ein eigenes ListSelectionModel implementieren, oder geht das auch einfacher? Falls ich um ein eigenes ListSelectionModel nicht herum komme, empfehlt ihr mir, von DefaultListSelectionModel abzuleiten in Bezug auf mein Vorhaben?


Über Hilfe würde ich mich sehr freuen


Vielen Dank!
 
Kann mir keiner helfen? Ich finde mein Vorhaben gar nicht so ungewöhnlich - was ich eben erreichen möchte ist, dass der Benutzer eine Zeile markiert, und diese dann durch einen Klick auf einen Button entfernt wird. Nur schaffe ich es einfach nicht, dass eben die gesamte Zeile markiert wird.

Ich würde mich wirklich sehr freuen, wenn mir jemand helfen könnte.

Danke!
 
Zurück