2016-07-22 16 views
1

Ich möchte eine Erklärung zu schreiben, in der Lage sein, die manuell ein Element in einem JList, wie wählt:Select im JList Code

JList myList = new JList(items); 
myList.selectValueAt(index); 

Antwort

0

Sie brauchen, um die ListSelectionModel vom JList. Damit können Sie die Auswahl ändern:

... 
ListSelectionModel sm = myList.getSelectionModel(); 
sm.clearSelection();      // clears the selection 
sm.setSelectionInterval(index, index); // Sets a selection interval 
... 

Während die ListSelectionModel feinkörnige Kontrolle über das Verhalten Auswahl ermöglicht der JList, JList selbst bietet auch praktische Möglichkeiten, wie JList.setSelectedIndex() einfach die ausgewählten Elemente zu ändern.

3

Dokumentation von JList:

Der Auswahlstatus eines JList durch ein anderes separates Modell verwaltet wird, eine Instanz von ListSelectionModel. JList wird mit einem Auswahlmodell für die Konstruktion initialisiert und enthält auch Methoden zum Abfragen oder Festlegen dieses Auswahlmodells. Darüber hinaus bietet JList bequeme Methoden zur einfachen Verwaltung der Auswahl. Diese Methoden, wie setSelectedIndex und getSelectedValue, sind Cover-Methoden, die sich um die Details der Interaktion mit dem Selektionsmodell kümmern. Standardmäßig ist das Auswahlmodell von JList so konfiguriert, dass eine beliebige Kombination von Elementen gleichzeitig ausgewählt werden kann. Auswahlmodus MULTIPLE_INTERVAL_SELECTION. Der Auswahlmodus kann direkt am Auswahlmodell oder über die Cover-Methode von JList geändert werden. Die Verantwortung für die Aktualisierung des Auswahlmodells als Reaktion auf Benutzergesten liegt in der ListUI der Liste.

In Ihrem Fall:

myList.setSelectionIndex(index);