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