Szukaj…


Tworzenie stronicowania

Paginacje w JavaFX używają wywołania zwrotnego, aby uzyskać strony używane w animacji.

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

Tworzy to nieskończoną listę przycisków ponumerowanych 0.. ponieważ konstruktor zerowy arg tworzy nieskończoną paginację. setPageFactory pobiera wywołanie zwrotne, które przyjmuje wartość int, i zwraca węzeł, który chcemy pod tym indeksem.

Automatyczne przewijanie

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();

Przyspiesza to paginację co 5 sekund.

Jak to działa

Pagination p = new Pagination(10);

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

fiveSecondsWonder to oś czasu, która uruchamia zdarzenie za każdym razem, gdy kończy cykl. W takim przypadku czas cyklu wynosi 5 sekund.

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

Zaznacz paginację.

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

Ustaw oś czasu, aby działała wiecznie.

fiveSecondsWonder.play();

Utwórz paginację zdjęć

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)));

Pamiętaj, że ścieżki muszą być adresami URL, a nie ścieżkami systemu plików.

Jak to działa

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

Cała reszta to tylko puch, tutaj dzieje się prawdziwa praca. setPageFactory pobiera wywołanie zwrotne, które przyjmuje wartość int, i zwraca węzeł, który chcemy pod tym indeksem. Pierwsza strona jest odwzorowywana na pierwszy element na liście, od drugiego do drugiego elementu na liście i tak dalej.



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow