2009-10-09 16 views
19

Tengo un JList con muchos elementos, uno de los cuales está seleccionado. Me gustaría desplazarme al elemento seleccionado en este JList, para que el usuario pueda ver rápidamente qué elemento está seleccionado.Java JList desplazarse al elemento seleccionado

¿Cómo puedo hacer esto?

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

Para asegurarse de que siempre es visible se puede reemplazar el método setSelectedIndex y llamar a la Sbodd de método desde allí. – WVrock

Respuesta

48

Esto debe hacerlo:

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

O, si la selección múltiple está habilitado:

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

su dataList.getMinSelectionIndex() sin embargo, la respuesta todavía es útil para mí :) – Fortega

+0

Gracias - código editado de 'Selelected' a' Selection' – Nate

Cuestiones relacionadas