Java JList desplazarse al elemento seleccionado
swing scroll (3)
Tengo un JList
con muchos elementos, de los cuales uno está seleccionado. Me gustaría desplazarme hasta el elemento seleccionado en esta JList
, para que el usuario pueda ver rápidamente qué elemento está 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);
Esto debería hacerlo:
dataList.ensureIndexIsVisible(dataList.getSelectedIndex());
O, si la selección múltiple está habilitada:
dataList.scrollRectToVisible(
dataList.getCellBounds(
dataList.getMinSelectionIndex(),
dataList.getMaxSelectionIndex()
)
);
Puede utilizar el método ensureIndexIsVisible
http://java.sun.com/javase/6/docs/api/javax/swing/JList.html#ensureIndexIsVisible(int)
Desplaza la lista dentro de una ventana gráfica adjunta para que la celda especificada sea completamente visible. Esto llama a scrollRectToVisible con los límites de la celda especificada. Para que este método funcione, el JList debe estar dentro de un JViewport.