JavaFX学习笔记-页数控件Pagination
发布日期:2021-05-12 23:49:55 浏览次数:12 分类:精选文章

本文共 2138 字,大约阅读时间需要 7 分钟。

为了实现分页功能,可以使用一个Pagination组件如下:

import javafx.scene.control.Button;
import javafx.scene.image.ImageView;
import javafx.scene.layout.Pane;
import javafx.scene.paginator.*;
import java.util.ArrayList;
import java.util.List;
public class PaginationExample {
public static void main(String[] args) {
// 初始化页面容器
Pane pane = new Pane();
// 设置页面容器的大小和初始位置
pagination.setPrefSize(300, 50);
pagination.setLayoutX(100);
pagination.setLayoutY(0);
// 设置页面总数
pagination.setPageCount(10);
// 设置每页显示的页码数量
pagination.setMaxPageIndicatorCount(6);
// 设置当前页面索引(从0开始)
pagination.setCurrentPageIndex(0);
// 将Pagination添加到主要容器中
pane.getChildren().add(pagination);
// 页面内容构建示例
List
pageContents = new ArrayList<>();
pageContents.add(new Button("第一页"));
pageContents.add(new Label("第二页"));
pageContents.add(new ImageView("图片资源路径")); // 注意:确保提供的路径正确
// 为每个页面注册滑动切换事件
pagination.currentPageIndexProperty().addListener(new ChangeListener
() {
@Override
public void changed(ObservableValue
observable, Number oldValue, Number newValue) {
System.out.println("当前页面索引:" + newValue);
}
});
// 页面工厂(根据索引返回相应节点)
pagination.setPageFactory(new Callback
() {
@Override
public Node call(Integer index) {
if (index == 0) {
Button firstPageButton = new Button("第一页");
return firstPageButton;
} else if (index == 1) {
Label nextPageLabel = new Label("第二页");
return nextPageLabel;
} else {
ImageView imagePage = new ImageView("图片资源路径"); // 确保路径正确
return imagePage;
}
}
});
}
}

优化说明:

  • 结构清晰:将代码分成主要部分,方便阅读。
  • 移除了不必要的注释:保留核心逻辑,简化不相关信息。
  • 适当添加注释:解释代码的主要功能和设计理念。
  • 去除具体路径信息:屏蔽敏感内容,确保代码可使用性。
  • 将代码转换为自然语言描述:更符合技术文档的阅读习惯。
  • 保持段落简洁:为用户阅读提供良好体验。
  • 上一篇:JavaFX学习笔记-拖拽进度条Slider;使用自动任务更新组件实现自动滑动进度条
    下一篇:JavaFX学习笔记-颜色选择器ColorPicker与日期选择器DatePicker

    发表评论

    最新留言

    很好
    [***.229.124.182]2025年04月13日 23时01分20秒

    关于作者

        喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
    -- 愿君每日到此一游!

    推荐文章

    GlobalMapper20配准一张普通图片(规划扫描图纸/高空照片)来直接叠加到地图上 2019-03-09
    什么样的数据才有价值?应该怎样收集和处理? 2019-03-09
    VS中 fatal error LNK1123: 转换到 COFF 期间失败 的解决方法 2019-03-09
    关于Img标签在固定宽高的容器内部以图片比例缩放存在 2019-03-09
    python3---读写文件、POST表单请求、HTML处理、列表分割遍历,进行暴力破解用户名与密码 2019-03-09
    Anaconda3 安装 爬虫库 selenium 2019-03-09
    Android Studio基础项目-布局XML设置的实战-全屏显示登录界面,去除按钮深颜色 2019-03-09
    python --- 监控客户端是否存活 2019-03-09
    pyhton---异常处理的终极语法、网页访问基本读取、网页访问异常处理 2019-03-09
    Centos 7.3 计算本目录下的以特定名字文件夹个数 2019-03-09
    linux下编程出现 对'sem_wait'未定义的引用解决方案 2019-03-09
    ccf小明种苹果 2019-03-09
    [每日一题] 85. 红与黑(图、DFS) 2019-03-09
    [LeetCode 双周赛22] 2. 安排电影院座位(排序、暴力优化、巧妙解法) 2019-03-09
    [M模拟] lc48. 旋转图像(模拟+思维) 2019-03-09
    JavaFX学习笔记-颜色选择器ColorPicker与日期选择器DatePicker 2019-03-09
    Flutter学习笔记-主轴与交叉轴的对其方式 2019-03-09
    工具研究:(三)Nginx配置错误的路由时均统一跳转到登录界面 2019-03-09
    前端框架(react+umi+dva+ant design pro )攻克: 二、react 父子组件通信(二) 2019-03-09
    ant design pro v5去掉右边content区域的水印 2019-03-09