2009-10-09 7 views
19

J'ai un JList avec beaucoup d'objets dedans, dont un est sélectionné. Je voudrais faire défiler jusqu'à l'élément sélectionné dans ce JList, de sorte que l'utilisateur peut rapidement voir quel élément est sélectionné.Java JListournez à l'objet sélectionné

Comment est-ce que je peux faire ceci?

String[] data = {"one", "two", "three", "four", /* AND A LOT MORE */}; 
JList dataList = new JList(data); 
JScrollPane scrollPane = new JScrollPane(dataList); 
+0

Pour vous assurer qu'il est toujours visible, vous pouvez remplacer la méthode setSelectedIndex et appeler de la Sbodd méthode à partir de là. – WVrock

Répondre

48

Cela devrait le faire:

dataList.ensureIndexIsVisible(dataList.getSelectedIndex()); 
10

Ou, si la sélection multiple est activée:

dataList.scrollRectToVisible(
     dataList.getCellBounds(
      dataList.getMinSelectionIndex(), 
      dataList.getMaxSelectionIndex() 
     ) 
); 
+0

son dataList.getMinSelectionIndex() Cependant, la réponse est toujours utile pour moi :) – Fortega

+0

Merci - le code édité de 'Selelected' à' Selection' – Nate

Questions connexes