Поиск…


Создание разбивки на страницы

Паганины в JavaFX используют обратный вызов для получения страниц, используемых в анимации.

Pagination p = new Pagination();
p.setPageFactory(param -> new Button(param.toString()));

Это создает бесконечный список кнопок с нумерацией 0.. так как нулевой конструктор arg создает бесконечную разбивку на страницы. setPageFactory принимает обратный вызов, который принимает int, и возвращает узел, который мы хотим в этом индексе.

Автоматическое продвижение

Pagination p = new Pagination(10);

Timeline fiveSecondsWonder = new Timeline(new KeyFrame(Duration.seconds(5), event -> {
    int pos = (p.getCurrentPageIndex()+1) % p.getPageCount();
    p.setCurrentPageIndex(pos);
}));
fiveSecondsWonder.setCycleCount(Timeline.INDEFINITE);
fiveSecondsWonder.play();

stage.setScene(new Scene(p));
stage.show();

Это увеличивает паузы каждые 5 секунд.

Как это устроено

Pagination p = new Pagination(10);

Timeline fiveSecondsWonder = new Timeline(new KeyFrame(Duration.seconds(5), event -> {

fiveSecondsWonder - это временная шкала, которая запускает событие каждый раз, когда заканчивается цикл. В этом случае время цикла составляет 5 секунд.

    int pos = (p.getCurrentPageIndex()+1) % p.getPageCount();
    p.setCurrentPageIndex(pos);

Отметьте разбивку на страницы.

}));
fiveSecondsWonder.setCycleCount(Timeline.INDEFINITE);

Установите временную шкалу для запуска навсегда.

fiveSecondsWonder.play();

Создание разбиения на страницы изображений

ArrayList<String> images = new ArrayList<>();
images.add("some\\cool\\image");
images.add("some\\other\\cool\\image");
images.add("some\\cooler\\image");

Pagination p = new Pagination(3);
p.setPageFactory(n -> new ImageView(images.get(n)));

Обратите внимание, что пути должны быть URL-адресами, а не файловыми путями.

Как это устроено

p.setPageFactory(n -> new ImageView(images.get(n)));

Все остальное - просто пух, вот где происходит настоящая работа. setPageFactory принимает обратный вызов, который принимает int, и возвращает узел, который мы хотим в этом индексе. Первая страница отображает первый элемент в списке, второй - второй элемент в списке и т. Д.



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow