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