JavaFX之Pagination的使用

openkk 12年前發布 | 48K 次閱讀 JavaFX Java開發

  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

 本文由用戶 openkk 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!