JavaFX之Pagination的使用
openkk
12年前
Pagination是JavaFX 2.2中新增加的一个分页控件,非常的简单易用。
Pagination的创建方式有两种:
第一种是直接进行Pagination的初始化,然后进行相关参数的设置。
第二种是使用PaginationBuilder使用建造者模式进行Pagination的构建。
不过,Pagination的视图的呈现与Table等相似,都是使用Factory进行构建。这样的视图构建方式,在Java中经常
可见,特别是Android开发中。
下面我们就来简单的使用一下Pagination。
import javafx.application.Application; import javafx.scene.Group; import javafx.scene.Node; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.control.Label; import javafx.scene.control.Pagination; import javafx.scene.control.PaginationBuilder; import javafx.stage.Stage; import javafx.util.Callback; public class MainClass extends Application { @Override public void start(Stage primaryStage) { Group group = new Group(); Scene scene = new Scene(group, 640, 480); primaryStage.setScene(scene); primaryStage.setTitle("JavaFX之Pagination的使用"); primaryStage.show(); Pagination mPagination = new Pagination(5, 0); mPagination.setPageFactory(new Callback<Integer, Node>() { @Override public Node call(Integer param) { Label mLabel = new Label(); mLabel.setText("这是第" + param + "页"); return mLabel; } }); Pagination mPagination2 = PaginationBuilder.create().pageCount(5).currentPageIndex(0).pageFactory(new Callback<Integer, Node>() { @Override public Node call(Integer param) { Button mbtn = new Button(); mbtn.setText("这是第" + param + "页"); return mbtn; } }).build(); mPagination.setLayoutX(50); mPagination.setLayoutY(50); mPagination2.setLayoutX(50); mPagination2.setLayoutY(250); group.getChildren().add(mPagination); group.getChildren().add(mPagination2); } public static void main(String[] args) { launch(args); } }
Pagination的构造函数第一个是总页数,第二个是当前的页数。对应PaginationBuilder进行create后的pageCount和
currentPageIndex两个函数。
当然,我们在使用中的主要工作是实现Pagination的视图呈现的factory。
同样的,Pagination也有自己的样式,可以进行样式的定义,这个将会在以后介绍到。
总的来说,Pagination是一个很容易使用而且也比较常见的控件,可以减少一些工作量,但是目前还不知道
Pagination的factorty内部的优化如何。
下面看看运行的效果:
那么Pagination的介绍就暂时到这里了。
转载请注明出处:http://blog.csdn.net/ml3947