Подтвердить что ты не робот

Java JList прокручивает выбранный элемент

У меня есть JList с большим количеством элементов, из которых один выбран. Я хотел бы прокрутить выбранный элемент в этом JList, чтобы пользователь мог быстро увидеть, какой элемент выбран.

Как я могу это сделать?

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

Ответ 1

Это должно сделать это:

dataList.ensureIndexIsVisible(dataList.getSelectedIndex());

Ответ 2

Вы можете использовать метод ensureIndexIsVisible

http://java.sun.com/javase/6/docs/api/javax/swing/JList.html#ensureIndexIsVisible(int)

Прокручивает список в закрытом viewport для создания указанной ячейки полностью виден. Это вызывает scrollRectToVisible с ограничениями указанную ячейку. Для этого метода работа, JList должен находиться в пределах JViewport.

Ответ 3

Или, если включен многоэкранный выбор:

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