Heim > Java > javaLernprogramm > Wie deaktiviere ich alle ausgewählten Kontrollkästchen in einer JTable, nachdem ich ein einzelnes Kontrollkästchen deaktiviert habe?

Wie deaktiviere ich alle ausgewählten Kontrollkästchen in einer JTable, nachdem ich ein einzelnes Kontrollkästchen deaktiviert habe?

Linda Hamilton
Freigeben: 2024-12-07 17:54:14
Original
312 Leute haben es durchsucht

How to Uncheck All Selected Checkboxes in a JTable Upon Single Checkbox Uncheck?

Mehrere Zeilenauswahl mit Deaktivierung des Kontrollkästchens in JTable

In einer JTable mit einer nicht bearbeitbaren Textspalte und einer Kontrollkästchenspalte, die boolesche Werte anzeigt, kann es zu einem Szenario kommen, in dem Sie möchten alle Kontrollkästchen unter der Auswahl deaktivieren, wenn ein Kontrollkästchen deaktiviert ist. So erreichen Sie dies:

Das bereitgestellte Beispiel zeigt eine grafische Benutzeroberfläche, die der Einfachheit halber Schaltflächen verwendet. Eine SelectionAction kann jedoch effektiv für Menüs oder Popups implementiert werden.

Beachten Sie die folgenden Schritte:

Datenstruktur

  • Definieren Sie ein benutzerdefiniertes Datenmodell, das DefaultTableModel erweitert.
  • Überschreiben Sie die getColumnClass-Methode, um anzugeben, dass die Kontrollkästchenspalte boolesch ist Klasse.
  • Überschreiben Sie die isCellEditable-Methode, um die Kontrollkästchenspalte bearbeitbar zu machen.

Auswahlbehandlung

  • Verwenden Sie DefaultListSelectionModel, um Zeilenauswahlen zu verwalten.

Aktion für Kontrollkästchen Manipulation

  • Definieren Sie eine SelectionAction-Klasse, die AbstractAction erweitert, um Schaltflächenereignisse zu verarbeiten.
  • Übergeben Sie einen booleschen Wert an den Konstruktor, um den gewünschten Kontrollkästchenstatus anzugeben.
  • Wenn die Wenn die Aktion ausgelöst wird, durchlaufen Sie die ausgewählten Zeilen und setzen den Kontrollkästchenwert für jede ausgewählte Zeile auf den angegebenen booleschen Wert Zeile.

Integration

  • Fügen Sie das Bedienfeld mit Schaltflächen zum Haupt-JPanel hinzu.
  • Achten Sie auf Schaltflächenklicks und führen Sie die SelectionAction aus, um Kontrollkästchenaktualisierungen zu verwalten .

Beispielcode

//...
private class ControlPanel extends JPanel {
    public ControlPanel() {
        this.add(new JLabel("Selection:"));
        this.add(new JButton(new SelectionAction("Clear", false)));
        this.add(new JButton(new SelectionAction("Check", true)));
    }
}
//...
Nach dem Login kopieren

Dieser Ansatz bietet eine umfassende Lösung für die Handhabung mehrerer Zeilenauswahlen und das Deaktivieren von Kontrollkästchen innerhalb einer JTable.

Das obige ist der detaillierte Inhalt vonWie deaktiviere ich alle ausgewählten Kontrollkästchen in einer JTable, nachdem ich ein einzelnes Kontrollkästchen deaktiviert habe?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage