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.



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow