javafx
Pagination
Recherche…
Créer une pagination
Les paginations dans JavaFX utilisent un rappel pour obtenir les pages utilisées dans l'animation.
Pagination p = new Pagination();
p.setPageFactory(param -> new Button(param.toString()));
Cela crée une liste infinie de boutons numérotés 0..
puisque le constructeur zéro arg crée une pagination infinie. setPageFactory
prend un rappel qui prend un int et retourne le noeud que nous voulons à cet index.
Avance automatique
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();
Cela fait avancer la pagination toutes les 5 secondes.
Comment ça marche
Pagination p = new Pagination(10);
Timeline fiveSecondsWonder = new Timeline(new KeyFrame(Duration.seconds(5), event -> {
fiveSecondsWonder
est un scénario qui déclenche un événement à chaque fois qu'il termine un cycle. Dans ce cas, le temps de cycle est de 5 secondes.
int pos = (p.getCurrentPageIndex()+1) % p.getPageCount();
p.setCurrentPageIndex(pos);
Cochez la pagination.
}));
fiveSecondsWonder.setCycleCount(Timeline.INDEFINITE);
Définissez la chronologie pour qu'elle s'exécute pour toujours.
fiveSecondsWonder.play();
Créer une pagination d'images
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)));
Notez que les chemins doivent être des URL, pas des chemins de système de fichiers.
Comment ça marche
p.setPageFactory(n -> new ImageView(images.get(n)));
Tout le reste n'est que du fluff, c'est là que se passe le vrai travail. setPageFactory
prend un rappel qui prend un int et retourne le noeud que nous voulons à cet index. La première page correspond au premier élément de la liste, le second au deuxième élément de la liste, etc.