javafx 自动前进

示例

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

这会使分页每5秒前进一次。

这个怎么运作

Pagination p = new Pagination(10);

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

fiveSecondsWonder是一个时间轴,每次完成一个周期都会触发一个事件。在这种情况下,循环时间为5秒。

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

勾选分页。

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

将时间轴设置为永久运行。

fiveSecondsWonder.play();