展开全部
以Pagination的按钮隐藏为例62616964757a686964616fe78988e69d8331333431376537: 首先打开FX的CSS文档,了解Pagination的结构, 找到按钮等所在的子组件,然后让子组件隐藏即可;
FXCSS文档 ; Pagination的结构如下:
Pagination的结构
所以我们隐藏掉pagination-control这个子组件, 就可以隐藏各种按钮,和最底下的文字标签
具体的代码实现:
demo.css文件的源码:
.pagination .pagination-control{
visibility: hidden;
}
java文件的源码:
import javafx.application.Application;
import javafx.scene.*;
import javafx.scene.control.Pagination;
import javafx.scene.layout.BorderPane;
import javafx.scene.text.Text;
import javafx.stage.Stage;
import javafx.util.Callback;
public class PaginationDemo extends Application{
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) throws Exception {
Pagination pageination=new Pagination(10);
//生成页面填充分页组件
pageination.setPageFactory(new Callback() {
@Override
public Node call(Integer param) {
BorderPane pane=new BorderPane();
pane.setCenter(new Text("第"+(param+1)+"页"));
pane.setPrefSize(300,300);
return pane;
}
});
BorderPane root = new BorderPane();
root.setCenter(pageination);
//方法一: 用CSS的方式隐藏按钮
//优点: 可以不用管该组件目前的状态是否显示
//缺点: 需要一个CSS文件
//pageination.getStylesheets().add(getClass().getResource("demo.css").toExternalForm());
Scene scene = new Scene(root);
primaryStage.setTitle("分页组件");
primaryStage.setScene(scene);
primaryStage.show();
//方法二: 等组件显示出来后,寻找到子组件(按钮),然后设置为隐藏
//优点: 无需css文件
//缺点: 需要先显示组件,然后才能查找到子组件
pageination.lookup(".pagination-control").setVisible(false);
}
}
效果图
所以, 建议还是系统的学习下javaFX,比如fxcss (和HTML的CSS文件比较类似) 以及FXML(结构类似HTML) 稍微阅读下组件的源代码即可