Java Swing 自定义组件库分享(一)

0 阅读2分钟

Java Swing 自定义组件库分享(一):开篇 — 这套组件能做什么?

一、背景

以前做 Swing 项目时,陆陆续续写了一套自定义组件和工具类。最近整理了一下,分享出来,也许对还在做 Swing 维护或开发的同学有点用。

代码基于 JDK 8,依赖主要是 Hutool、MyBatis-Plus、Zip4j、POI 等,都是常见的库。

二、这套组件包含什么?

一共 30 多个类,大致分这几类:

分类主要类作用
工具类ButtonUtils、ComponentUtils、FormPanelUtils、CallbackProcessor简化按钮、组件、表单、回调的重复代码
窗口相关CusFrame、CusDialog自定义标题栏、圆角、可拖拽、遮罩加载
布局ElRow、ElCol24 栅格布局,快速布局
基础组件CusCheckBox、SwitchComponent、CusComboBox、CusList、CusScrollPane复选框、滑动开关、可搜索下拉框、列表、美化滚动条
日期选择DatePickerUtils、DatePickerImpl基于 LGoodDatePicker,支持多种精度
表格相关CusTable、TablePanel、PageToolBar、各种 Renderer/Editor表格 + 分页 + 查询面板的一体化方案
文件处理FileUtils、ZipFileUtils、JsonLoader上传下载、Excel 导出、压缩解压、JSON 配置

三、适合谁看?

  • 需要维护或开发 Swing 项目的人
  • 想找现成的 Swing 组件封装,不想重复造轮子的人

不熟悉 Swing 的同学可能看着费劲,建议先过一遍基础。

四、系列目录

一共 14 篇,按依赖顺序从底层工具往上讲:

  1. 开篇(本文)
  2. 回调函数处理器 — CallbackProcessor
  3. 组件与表单工具 — ComponentUtils、FormPanelUtils
  4. 按钮工具 — ButtonUtils
  5. 日期时间选择器 — DatePickerUtils、DatePickerImpl
  6. 自定义窗口 — CusFrame
  7. 自定义弹窗 — CusDialog
  8. 栅格布局 — ElRow、ElCol
  9. 复选框 / 滑动开关 / 下拉框 — CusCheckBox、SwitchComponent、CusComboBox
  10. 滚动面板 — CusScrollPane
  11. 表格(一):核心与分页 — CusTable、PageToolBar
  12. 表格(二):渲染器与编辑器
  13. 表格(三):TablePanel 完整方案
  14. 文件处理工具箱

五、一个简单示例

CusFrame 创建一个窗口:

SwingUtilities.invokeLater(() -> {
    CusFrame frame = new CusFrame("示例窗口");
    frame.setSize(800, 600);
    frame.setVisible(true);
});

68b4302f-3dad-4b33-b35d-fda9acfacddd.png

六、说明

代码会按篇逐步贴出,有问题欢迎留言

下一篇:回调函数处理器 — CallbackProcessor