当前位置: 首页 > 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.dtcms.com/a/279150.html

相关文章:

  • 【Docker基础】Dockerfile指令速览:健康检查与启动指令详解
  • Apache部署
  • ThinkPHP 8 在 Apache 下启用伪静态
  • 深入解析Hadoop YARN架构设计:从原理到实践
  • 音视频:语音转换文字功能实现
  • 阿尔卡特ACT 250 ATP 150 AND ATP 400 分子泵控制器TURBOMOLECULAR PUMP CONTROLLER ALCATEL
  • 微型导轨在3D打印设备中如何稳定运行?
  • Java:继承和多态(必会知识点整理)
  • 常用的RAG类型介绍
  • # MySQL索引失效场景和解决方案详解
  • 如何解决pip安装报错ModuleNotFoundError: No module named ‘sqlite3’问题
  • SpringBoot微服组件
  • 毫米波雷达在转弯时将静止目标识别为运动目标的原因
  • JavaSE-8-多态
  • python 双下划线开头函数
  • 【字节跳动】数据挖掘面试题0017:推荐算法:双塔模型,怎么把内容精准地推送给用户
  • ATE - Force模式和Meas模式
  • AI Agent vs SaaS:企业服务产品正迈向“智能中枢”阶段
  • Linux中使用云仓库上传镜像和私库制作Registry
  • 算法-练习题
  • 【牛客刷题】小红的数字删除
  • 可达性统计(拓扑排序模板,bitset)
  • 【算法】贪心算法:最大数C++
  • Linux 音频的基石: ALSA
  • 【云服务器安全相关】如何使用 `ping` 命令排查云服务器网络连接问题
  • javascript自执行函数
  • Retinex视网膜算法(SSR、MSR、MSRCR)
  • DNS重绑定
  • 纯净系统清理工具,告别卡顿烦恼
  • iOS高级开发工程师面试——RunTime