2009-10-09 19 views
19

Mam JList z wieloma elementami, z których jeden jest wybrany. Chciałbym przewinąć do wybranego elementu w tym JList, aby użytkownik mógł szybko zobaczyć, który element jest wybrany.Java JList przejdź do wybranego elementu

Jak mogę to zrobić?

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

Aby upewnić się, że jest zawsze widoczny można zastąpić metodę setSelectedIndex i nazywają Sbodd użytkownika Metoda z tego miejsca. – WVrock

Odpowiedz

48

ten powinien zrobić:

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

Lub, jeśli multi-wybór jest włączona:

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

its dataList.getMinSelectionIndex() jednak odpowiedź jest nadal przydatna dla mnie :) – Fortega

+0

Dzięki - edytowany kod z 'Selelected' do' Selection' – Nate

Powiązane problemy