Zoeken…


Paginering maken

Paginaties in JavaFX gebruiken een callback om de pagina's te krijgen die in de animatie worden gebruikt.

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

Dit creëert een oneindige lijst met knoppen met een nummer 0.. omdat de constructor zero arg een oneindige paginering creëert. setPageFactory neemt een callback waarvoor een int is vereist en retourneert het knooppunt dat we in die index willen hebben.

Auto vooruit

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

Dit bevordert de paginering om de 5 seconden.

Hoe het werkt

Pagination p = new Pagination(10);

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

fiveSecondsWonder is een tijdlijn die een gebeurtenis fiveSecondsWonder telkens wanneer een cyclus wordt beëindigd. In dit geval is de cyclustijd 5 seconden.

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

Vink de paginering aan.

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

Stel de tijdlijn in om voor altijd te lopen.

fiveSecondsWonder.play();

Maak een paginering van afbeeldingen

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

Merk op dat de paden urls moeten zijn, geen bestandssysteempaden.

Hoe het werkt

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

Al het andere is gewoon pluis, dit is waar het echte werk gebeurt. setPageFactory neemt een callback waarvoor een int is vereist en retourneert het knooppunt dat we in die index willen hebben. De eerste pagina wordt toegewezen aan het eerste item in de lijst, de tweede aan het tweede item in de lijst, enzovoort.



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow