Автоматическая прокрутка JavaFX

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

Кто-нибудь знает, как я могу это сделать?


person Studiosus    schedule 10.12.2014    source источник
comment
Все ли ячейки сетки имеют одинаковый размер?   -  person James_D    schedule 10.12.2014


Ответы (1)


Предполагая, что все ячейки сетки имеют одинаковый размер (что подразумевается как «одна ячейка сетки имеет размер полосы прокрутки»), и вы знаете, сколько строк и столбцов находится в области сетки, вы сможете сделать что-то вроде этого :

private ScrollPane scrollPane = ... ;
private int numColumns = ... ;
private int numRows = ... ;

// these are defaults, but just to be sure:
scrollPane.setHmin(0.0);
scrollPane.setHmax(1.0);
scrollPane.setVmin(0.0);
scrollPane.setVmax(1.0);


private void scrollTo(int column, int row) {
    scrollPane.setHvalue((1.0 * column) / (numColumns - 1));
    scrollPane.setVvalue((1.0 * row) / (numRows - 1));
}

Это может потребовать небольшой корректировки, если у вас есть границы и т. д.

person James_D    schedule 10.12.2014