Sök…


Skapa en pagination

Paginationer i JavaFX använder ett återuppringning för att få sidorna som används i animeringen.

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

Detta skapar en oändlig lista med knappar som numreras 0.. eftersom zero arg-konstruktören skapar en oändlig pagination. setPageFactory tar ett återuppringning som tar en int och returnerar den nod vi vill ha vid det indexet.

Auto förskott

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

Detta fortsätter paginationen var 5: e sekund.

Hur det fungerar

Pagination p = new Pagination(10);

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

fiveSecondsWonder är en tidslinje som avfyrar en händelse varje gång den avslutar en cykel. I detta fall är cykeltiden 5 sekunder.

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

Markera paginationen.

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

Ställ in tidslinjen så att den ska köra för alltid.

fiveSecondsWonder.play();

Skapa en pagination av bilder

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

Observera att sökvägarna måste vara webbadresser, inte filsystemvägar.

Hur det fungerar

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

Allt annat är bara fluff, det är här som det verkliga arbetet händer. setPageFactory tar ett återuppringning som tar en int och returnerar den nod vi vill ha vid det indexet. Den första sidan kartar till det första objektet i listan, det andra till det andra objektet i listan och så vidare.



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow