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内部的优化如何。


  下面看看运行的效果:


  JavaFX之Pagination的使用


  那么Pagination的介绍就暂时到这里了。


  转载请注明出处:http://blog.csdn.net/ml3947