当前位置: 首页 > news >正文

org.casic.javafx.control.PaginationPicker用法

org.casic.javafx.control.PaginationPicker 是 CASIC(或某位作者)基于 JavaFX 自制的分页控件,功能比官方 Pagination 更完整,支持:

  • 首页 / 上一页 / 下一页 / 尾页按钮

  • 页码快速跳转

  • 每页条数自定义

  • 总数据量、当前页码、总页数实时展示

  • 样式、字体大小可调

下面给出最小可运行示例,演示如何在 纯 JavaFXML 两种场景中使用。


1. 引入 jar

PaginationPicker.jar 放进项目 classpath 即可(Maven/Gradle 本地库或普通 Java 工程均可)。下载地址见 。


2. 纯 Java 方式

java

复制

public class PaginationTest extends Application {@Overridepublic void start(Stage stage) {PaginationPicker picker = new PaginationPicker();// 1. 基本配置picker.setTotal(127);        // 总条数picker.setPageSize(10);      // 每页条数picker.setPageButtonCount(9); // 可见页码按钮数(奇数 5~21)picker.setCurrentPage(1);    // 当前页(必须在最后设置)picker.setPaginationButtonFontSize(12);// 2. 监听页码变化picker.setOnAction(e ->System.out.println("当前页:" + picker.getCurrentPage()));VBox root = new VBox(picker);root.setPadding(new Insets(20));stage.setScene(new Scene(root));stage.show();}public static void main(String[] args) {launch(args);}
}

3. FXML 方式

xml

复制

<?xml version="1.0" encoding="UTF-8"?><?import javafx.scene.layout.VBox?>
<?import javafx.geometry.Insets?>
<?import org.casic.javafx.control.PaginationPicker?><VBox xmlns="http://javafx.com/javafx/17" spacing="10"><padding><Insets topRightBottomLeft="20"/></padding><PaginationPicker fx:id="picker"total="200"pageSize="20"pageButtonCount="7"currentPage="1"paginationButtonFontSize="12"/>
</VBox>

控制器示例:

java

复制

public class PickerController {@FXML private PaginationPicker picker;@FXMLpublic void initialize() {picker.setOnAction(e ->System.out.println("FXML 当前页:" + picker.getCurrentPage()));}
}

4. 常用 API 速查

表格

复制

方法含义默认值
setTotal(int)总条数0
setPageSize(int)每页条数30
setPageButtonCount(int)可见页码按钮数(奇数 5~21)7
setCurrentPage(int)当前页码(最后设置)1
setPaginationButtonFontSize(int)按钮字体大小(≥2)10
getCurrentPage()读取当前页码

5. 注意事项

  1. 必须最后调用 setCurrentPage,否则可能无效。

  2. JDK 版本:该控件内部用到了 JavaFX 8 的 com.sun.* 类,若运行在 JDK 11+,请确保运行时添加了 JavaFX SDK 并加 --add-modules javafx.controls,javafx.fxml

  3. 若 IDEA 内置 Scene Builder 打不开,使用外部 Scene Builder 即可(见上一条回答)。

这样即可在项目中快速集成 PaginationPicker

http://www.lryc.cn/news/588126.html

相关文章:

  • 2025年北京市大学生程序设计竞赛暨“小米杯”全国邀请赛——D
  • 【从语言幻觉看趋势】从语言幻觉到多智能体协作:GPT多角色系统的技术演进与实践路径
  • MFC UI大小改变与自适应
  • MFC扩展库BCGControlBar Pro v36.2新版亮点:可视化设计器升级
  • Java集合和字符串
  • 如何通过API查询实时能源期货价格
  • 【机器学习深度学习】Ollama vs vLLM vs LMDeploy:三大本地部署框架深度对比解析
  • Function-——函数中文翻译渊源及历史背景
  • 重复频率较高的广告为何一直在被使用?
  • Three.js搭建小米SU7三维汽车实战(5)su7登场
  • 【世纪龙科技】汽车整车检测与诊断仿真实训系统-迈腾B8
  • Netty编程模型介绍
  • Olingo分析和实践——整体架构流程
  • 如何保护文件传输安全?文件传输加密
  • Mac下载mysql
  • 安装Keycloak并启动服务(macOS)
  • 概率论与数理统计(二)
  • 微信小程序——配置路径别名和省略后缀
  • 创客匠人:创始人 IP 打造的内核,藏在有效的精神成长里
  • 【第一章编辑器开发基础第一节绘制编辑器元素_6滑动条控件(6/7)】
  • 【PTA数据结构 | C语言版】字符串连接操作
  • Git安装避坑指南
  • 【Vue】Vue3.6 - Vapor 无虚拟DOM
  • 【第一章编辑器开发基础第二节编辑器布局_1水平与垂直布局(1/4)】
  • 计算两个经纬度之间的距离(JavaScript 实现)
  • 当 `conda list` 里出现两个 pip:一步步拆解并卸载冲突包
  • 详解BIO,NIO,AIO
  • Python Web框架对比:Flask vs FastAPI
  • Python数据容器-字典dict
  • 丑团-h5-Mtgsig算法-分析