JTable - Comment forcer l'utilisateur à sélectionner exactement une ligne
- Je mettre en place une JTable dans laquelle exactement une ligne doit être sélectionné (toujours). Vide de sélection n'est pas autorisé. Je sélectionne la première ligne lors de l'initialisation:
table.setRowSelectionInterval(0, 0);
en outre, je suis en utilisant
table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
Mais l'utilisateur peut toujours désélectionner une ligne à l'aide de Clic + Ctrl.
Quelle est la meilleure façon de s'assurer, que l'on (exactement) la ligne est toujours sélectionné dans la table ?
OriginalL'auteur guitar_freak | 2013-08-19
Vous devez vous connecter pour publier un commentaire.
Maintenant, vous pouvez ajouter
MouseListener
s,SelectionListener
s,KeyListener
s et raccourcis clavier pour essayer de résoudre cette question. Ou, vous pouvez aller au cœur du problème.La
ListSelectionModel
est responsable de gérer les détails de la sélection.Vous pouvez simplement fournir votre propre
ListSelectionModel
pour la sélection d'une ligneEt il suffit de le mettre à votre table...
OriginalL'auteur MadProgrammer
Si vous avez un JTable instance créée, il suffit d'utiliser:
OriginalL'auteur Daniel Villanueva
il y a trois (essentiellement) types de sélection
modifier
fonctionne pour moi aussi
ListSelectionModel
serait plus facile et éviter la nécessité pour un groupe d'auditeurs qui serait probablement de contredire les uns les autres, à mon humble avisintéressant +1, mais le code de mon montage est de ListSelectionListener avec setCellSelectionAllowed
Je ne dis pas que c'est mal (pour utiliser un ListSelectionListener), mais vous commencez à courir dans le problème de la "ce que je viens de faire le changement ou je vais commencer notifié, ou est-il généré par quelque chose d'autre?" et jusqu'à la fin avec tous ces drapeaux et des trucs qui pourraient tout simplement éviter, à mon humble avis
OriginalL'auteur mKorbel
Je voudrais utiliser le JTable#setRowSelectionAllowed de faire en sorte qu'une ligne peut être sélectionné.
OriginalL'auteur blackpanther
Ce code change tout de suite pour l'indice désiré et il donne l'impression à l'utilisateur qu'il n'a jamais mises à jour.
OriginalL'auteur Matt Reinhart
D'abord faire
puis définissez
ListSelectionModel
OriginalL'auteur indika