Heim > Java > javaLernprogramm > Wie synchronisiere ich die Auswahl mehrerer Zeilen-Kontrollkästchen in einer JTable?

Wie synchronisiere ich die Auswahl mehrerer Zeilen-Kontrollkästchen in einer JTable?

Patricia Arquette
Freigeben: 2024-12-18 17:10:15
Original
191 Leute haben es durchsucht

How to Synchronize Multiple Row Checkbox Selections in a JTable?

Mehrere Zeilenauswahl in JTable

Wenn Sie mit einer JTable konfrontiert werden, die nicht bearbeitbaren Text und boolesche Kontrollkästchen enthält, ist es wünschenswert, alle Kontrollkästchen zu deaktivieren unter Auswahl, wenn einer von ihnen deaktiviert ist, und umgekehrt.

Um dieses Verhalten zu erleichtern, betrachten Sie das Beispiel unten:

import java.awt...;
import javax.swing...;

public class CheckABunch extends JPanel {
    // Constants and variables for data model and JTable setup
    private static final int CHECK_COL = 1;
    private static final Object[][] DATA = {...};
    private static final String[] COLUMNS = {...};
    private DataModel dataModel = ...;
    private JTable table = ...;
    private DefaultListSelectionModel selectionModel;

    // Constructor initializes the interface and selection model
    public CheckABunch() {
        super(new BorderLayout());
        ...
        table.setPreferredScrollableViewportSize(...);
        selectionModel = ...;
    }

    // DataModel provides custom column classes and editability
    private class DataModel extends DefaultTableModel {
        public DataModel(Object[][] data, Object[] columnNames) {...}
        public Class<?> getColumnClass(int columnIndex) {...}
        public boolean isCellEditable(int row, int column) {...}
    }

    // ControlPanel contains buttons for selecting and clearing
    private class ControlPanel extends JPanel {
        public ControlPanel() {...}
    }

    private class SelectionAction extends AbstractAction {
        boolean value;
        public SelectionAction(String name, boolean value) {...}
        public void actionPerformed(ActionEvent e) {...}
    }

    // Main method for creating and displaying the interface
    public static void main(String[] args) {...}
}
Nach dem Login kopieren

In diesem Beispiel verarbeitet SelectionAction die Schaltflächenklicks, um die Kontrollkästchen basierend auf der Auswahl des Benutzers zu aktualisieren. Das dataModel stellt sicher, dass die Kontrollkästchenspalte bearbeitet werden kann und vom richtigen Typ ist.

Mit diesem Ansatz können Sie problemlos die Auswahl und Synchronisierung mehrerer Kontrollkästchen für mehrere Zeilen in Ihrer JTable implementieren.

Das obige ist der detaillierte Inhalt vonWie synchronisiere ich die Auswahl mehrerer Zeilen-Kontrollkästchen in einer JTable?. 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