Mehrere Zeilenauswahl mit Checkbox-Steuerung in JTable
In einer JTable benötigen Benutzer häufig die Möglichkeit, mehrere Zeilen auszuwählen und Aktionen für diese auszuführen ausgewählte Zeilen. Ein häufiges Szenario ist die Notwendigkeit, Kontrollkästchen in mehreren ausgewählten Zeilen gleichzeitig umzuschalten. Dieser Artikel zeigt eine Lösung für dieses Problem durch Nutzung des Auswahlmodells und der Ereignisbehandlung von JTable.
Eine JTable besteht aus zwei primären Datenstrukturen: dem Datenmodell (z. B. DefaultTableModel) und dem Auswahlmodell (z. B. ListSelectionModel). . Das Auswahlmodell verwaltet die ausgewählten Zeilen und liefert Informationen über den Auswahlstatus. Durch Anpassen des Auswahlmodells können wir das gewünschte Verhalten der Kontrollkästchensteuerung über mehrere Zeilen hinweg implementieren.
In diesem Beispiel erweitert die DataModel-Klasse das DefaultTableModel, um die Bearbeitung von Kontrollkästchen in der zweiten Spalte zu ermöglichen. Die Methode getColumnClass() wird überschrieben, um anzuzeigen, dass die zweite Spalte boolesche Werte enthält, wodurch Kontrollkästchen-Steuerelemente aktiviert werden.
Die ControlPanel-Klasse stellt Schaltflächen zum Aktivieren und Deaktivieren aller ausgewählten Kontrollkästchen bereit. Wenn auf eine Schaltfläche geklickt wird, wird die SelectionAction-Klasse ausgelöst. Die actionPerformed()-Methode von SelectionAction durchläuft die ausgewählten Zeilen und aktualisiert die Kontrollkästchenwerte entsprechend dem Wert der Schaltfläche.
Durch die Kombination dieser Komponenten erreichen wir die gewünschte Funktionalität, bei der mehrere Zeilen und die darin enthaltenen Kontrollkästchen ausgewählt werden können Zeilen können gleichzeitig umgeschaltet werden. Dies bietet Benutzern, die mit großen Datensätzen interagieren, mehr Kontrolle und Effizienz.
Das obige ist der detaillierte Inhalt vonWie aktiviere ich die Auswahl und Steuerung mehrerer Zeilen-Kontrollkästchen in einer JTable?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!