Ricerca…


Creazione di una paginazione

Le impaginazioni in JavaFX utilizzano un callback per ottenere le pagine utilizzate nell'animazione.

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

Questo crea una lista infinita di pulsanti numbed 0.. poiché il costruttore zero arg crea un'impaginazione infinita. setPageFactory accetta un callback che accetta un int e restituisce il nodo che vogliamo a quell'indice.

Avanzamento automatico

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

Questo fa avanzare l'impaginazione ogni 5 secondi.

Come funziona

Pagination p = new Pagination(10);

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

fiveSecondsWonder è una sequenza temporale che fiveSecondsWonder un evento ogni volta che termina un ciclo. In questo caso il tempo di ciclo è di 5 secondi.

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

Spunta l'impaginazione.

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

Imposta la sequenza temporale per l'esecuzione per sempre.

fiveSecondsWonder.play();

Crea una paginazione di immagini

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

Si noti che i percorsi devono essere URL, non percorsi del file system.

Come funziona

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

Tutto il resto è semplicemente fluff, è qui che sta accadendo il vero lavoro. setPageFactory accetta un callback che accetta un int e restituisce il nodo che vogliamo a quell'indice. La prima pagina viene mappata al primo elemento nell'elenco, il secondo al secondo elemento nell'elenco e così via.



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow