Java Swing 自定义组件库分享(一):开篇 — 这套组件能做什么?
一、背景
以前做 Swing 项目时,陆陆续续写了一套自定义组件和工具类。最近整理了一下,分享出来,也许对还在做 Swing 维护或开发的同学有点用。
代码基于 JDK 8,依赖主要是 Hutool、MyBatis-Plus、Zip4j、POI 等,都是常见的库。
二、这套组件包含什么?
一共 30 多个类,大致分这几类:
| 分类 | 主要类 | 作用 |
|---|---|---|
| 工具类 | ButtonUtils、ComponentUtils、FormPanelUtils、CallbackProcessor | 简化按钮、组件、表单、回调的重复代码 |
| 窗口相关 | CusFrame、CusDialog | 自定义标题栏、圆角、可拖拽、遮罩加载 |
| 布局 | ElRow、ElCol | 24 栅格布局,快速布局 |
| 基础组件 | CusCheckBox、SwitchComponent、CusComboBox、CusList、CusScrollPane | 复选框、滑动开关、可搜索下拉框、列表、美化滚动条 |
| 日期选择 | DatePickerUtils、DatePickerImpl | 基于 LGoodDatePicker,支持多种精度 |
| 表格相关 | CusTable、TablePanel、PageToolBar、各种 Renderer/Editor | 表格 + 分页 + 查询面板的一体化方案 |
| 文件处理 | FileUtils、ZipFileUtils、JsonLoader | 上传下载、Excel 导出、压缩解压、JSON 配置 |
三、适合谁看?
- 需要维护或开发 Swing 项目的人
- 想找现成的 Swing 组件封装,不想重复造轮子的人
不熟悉 Swing 的同学可能看着费劲,建议先过一遍基础。
四、系列目录
一共 14 篇,按依赖顺序从底层工具往上讲:
- 开篇(本文)
- 回调函数处理器 — CallbackProcessor
- 组件与表单工具 — ComponentUtils、FormPanelUtils
- 按钮工具 — ButtonUtils
- 日期时间选择器 — DatePickerUtils、DatePickerImpl
- 自定义窗口 — CusFrame
- 自定义弹窗 — CusDialog
- 栅格布局 — ElRow、ElCol
- 复选框 / 滑动开关 / 下拉框 — CusCheckBox、SwitchComponent、CusComboBox
- 滚动面板 — CusScrollPane
- 表格(一):核心与分页 — CusTable、PageToolBar
- 表格(二):渲染器与编辑器
- 表格(三):TablePanel 完整方案
- 文件处理工具箱
五、一个简单示例
用 CusFrame 创建一个窗口:
SwingUtilities.invokeLater(() -> {
CusFrame frame = new CusFrame("示例窗口");
frame.setSize(800, 600);
frame.setVisible(true);
});
六、说明
代码会按篇逐步贴出,有问题欢迎留言
下一篇:回调函数处理器 — CallbackProcessor