Sélection de plusieurs lignes avec contrôle de case à cocher dans JTable
Dans une JTable, les utilisateurs ont souvent besoin de pouvoir sélectionner plusieurs lignes et d'effectuer des actions sur celles-ci. lignes sélectionnées. Un scénario courant est la nécessité de cocher simultanément des cases dans plusieurs lignes sélectionnées. Cet article montre une solution à ce problème en utilisant le modèle de sélection et la gestion des événements de JTable.
Une JTable se compose de deux structures de données principales : le modèle de données (par exemple, DefaultTableModel) et le modèle de sélection (par exemple, ListSelectionModel) . Le modèle de sélection gère les lignes sélectionnées et fournit des informations sur l'état de la sélection. En personnalisant le modèle de sélection, nous pouvons implémenter le comportement souhaité du contrôle des cases à cocher sur plusieurs lignes.
Dans cet exemple, la classe DataModel étend le DefaultTableModel pour permettre l'édition des cases à cocher dans la deuxième colonne. La méthode getColumnClass() est remplacée pour indiquer que la deuxième colonne contient des valeurs booléennes, permettant les contrôles de cases à cocher.
La classe ControlPanel fournit des boutons pour vérifier et décocher toutes les cases sélectionnées. Lorsqu'un bouton est cliqué, la classe SelectionAction est déclenchée. La méthode actionPerformed() de SelectionAction parcourt les lignes sélectionnées et met à jour les valeurs des cases à cocher en fonction de la valeur du bouton.
En combinant ces composants, nous obtenons la fonctionnalité souhaitée où plusieurs lignes peuvent être sélectionnées et les cases à cocher dans celles-ci les lignes peuvent être basculées simultanément. Cela offre un plus grand contrôle et une plus grande efficacité aux utilisateurs interagissant avec de grands ensembles de données.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!