2017-02-11 7 views
0

Описание:Изменение значения JavaFX TableView Vertical ScrollBar программно

Давайте предположим, что у нас есть простой JavaFX TableView, и он имеет 50 пунктов. Я хочу прокрутить вертикально по адресу 0,49.

Вы можете использовать пример из Oracle Tutorial (https://docs.oracle.com/javase/8/javafx/user-interface-tutorial/table-view.htm)


Так я использую:

ScrollBar verticalBar = (ScrollBar) tableViewer.lookup(".scrollbar:vertical"); 
verticalBar.setValue(0.49); 

Но это не работает ....


Я не могу найти способ обойти это. .scrollTo(...) ->link не дает такой точности. Мне нужна вертикальная черта, чтобы быть точно (0,49 или 0,24 или ...)

ответ

1

Кажется, у вас есть опечатка, scrollbar вместо scroll-bar. Это правильная линия:

ScrollBar verticalBar = (ScrollBar) tableViewer.lookup(".scroll-bar:vertical"); 
+0

О моей вине, я имел это, но я не добавил по ошибке на вопрос во время копирования вставки коды .... 'Хотя я проверил его, используя свой ответ снова он не работает ... Он работает для вас? ' – GOXR3PLUS

+0

Да, это работает для меня. – Dth

+0

'verticalBar.getValue();' правильно возвращает '0.27', но он не работает omg [не перемещает вертикальную полосу прокрутки или иногда перемещает ее 1/10], я на тему приложения JavaFX Application Thread. Использование 'observableArrayList' для заполнения' TableView' элементами ... Я думаю, что это не срабатывает Событие. '.scrollTo (index)' работает сразу ... – GOXR3PLUS