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!
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!