Je veux être en mesure d'écrire une déclaration qui sélectionne manuellement un élément dans un JList, tels que:Sélectionner un élément dans JList en utilisant le code
JList myList = new JList(items);
myList.selectValueAt(index);
Je veux être en mesure d'écrire une déclaration qui sélectionne manuellement un élément dans un JList, tels que:Sélectionner un élément dans JList en utilisant le code
JList myList = new JList(items);
myList.selectValueAt(index);
Vous devez obtenir le ListSelectionModel
du JList
. Avec cela, vous pouvez modifier la sélection:
...
ListSelectionModel sm = myList.getSelectionModel();
sm.clearSelection(); // clears the selection
sm.setSelectionInterval(index, index); // Sets a selection interval
...
Alors que le ListSelectionModel
permet un contrôle plus fin sur le comportement de sélection du JList
, JList
lui-même fournit également des méthodes pratiques comme JList.setSelectedIndex()
simplement de modifier les éléments sélectionnés.
Documentation JList:
L'état de sélection d'un JList est géré par un autre modèle distinct, une instance de ListSelectionModel. JList est initialisé avec un modèle de sélection sur la construction, et contient également des méthodes pour interroger ou définir ce modèle de sélection. En outre, JList fournit des méthodes pratiques pour gérer facilement la sélection. Ces méthodes, telles que setSelectedIndex et getSelectedValue, sont des méthodes de couverture qui prennent en charge les détails de l'interaction avec le modèle de sélection. Par défaut, le modèle de sélection de JList est configuré pour permettre à n'importe quelle combinaison d'éléments d'être sélectionnée à la fois; mode de sélection MULTIPLE_INTERVAL_SELECTION. Le mode de sélection peut être modifié directement sur le modèle de sélection ou via la méthode de couverture de JList. La responsabilité de mettre à jour le modèle de sélection en réponse aux gestes de l'utilisateur réside dans le ListUI de la liste.
Dans votre cas:
myList.setSelectionIndex(index);