Buscar..


Creando una paginación

Las paginaciones en JavaFX utilizan una devolución de llamada para obtener las páginas utilizadas en la animación.

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

Esto crea una lista infinita de botones numerados como 0.. ya que el constructor cero arg crea una paginación infinita. setPageFactory toma una devolución de llamada que toma un int, y devuelve el nodo que queremos en ese índice.

Avance automático

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

Esto avanza la paginación cada 5 segundos.

Cómo funciona

Pagination p = new Pagination(10);

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

fiveSecondsWonder es una línea de tiempo que dispara un evento cada vez que termina un ciclo. En este caso el tiempo de ciclo es de 5 segundos.

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

Marque la paginación.

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

Establecer la línea de tiempo para ejecutar para siempre.

fiveSecondsWonder.play();

Crear una paginación de imágenes.

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

Tenga en cuenta que las rutas deben ser direcciones URL, no rutas del sistema de archivos.

Cómo funciona

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

Todo lo demás es solo pelusa, aquí es donde está sucediendo el verdadero trabajo. setPageFactory toma una devolución de llamada que toma un int, y devuelve el nodo que queremos en ese índice. La primera página se asigna al primer elemento de la lista, la segunda al segundo elemento de la lista y así sucesivamente.



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow