Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: GUI и Java FX приложения > Прокрутка scroll до выделенного элемента list


Автор: Krivoy 30.4.2009, 08:33
Доброго!

Пример кода
Код

String[] s = {"эники", "беники", "ели", "вареники", "итд", "итп", "кароче", "много", "таких", "данных"};
JList list = new JList(s);
JScrollPane scroll = new JScrollPane(list);
JPopupMenu popup = new JPopupMenu();
popup.add(scroll);


Вот когда я 
Код

list.setSelectedIndex(i);

Индекс выделяется, но scroll не прокручивается до позиции выделенного индекса :( а хочется что бы эта строка встала первой в видимом popup 
Подскажите пожалуйста метод а?

Автор: jManiak 30.4.2009, 08:43
Может нужно сделать что-нибудь типа updateUI()?

Автор: Krivoy 30.4.2009, 08:50
Цитата(jManiak @ 30.4.2009,  08:43)
Может нужно сделать что-нибудь типа updateUI()?

Неа - не помогло да и не туда помоему - подозреваю надо что то с scroll ом сделать или list пересортировать..

Автор: Krivoy 30.4.2009, 09:17
Упс..... - сорри - после долгих поисков сегодня нашел решение 
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4654916
надо 
Код

list.ensureIndexIsVisible(i);

делать

Автор: Connie 30.4.2009, 11:11
В таблице делается так:
Код

int row = prodList.convertRowIndexToView(((ProductTableModel)prodList
                 .getModel()).findRow(prodMgr.getLastInsertedId()));
            Rectangle rect = prodList.getCellRect(row, 0, true);
            prodList.scrollRectToVisible(rect);


http://java.sun.com/javase/6/docs/api/javax/swing/JList.html#getCellBounds(int,%20int)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)