
Swing-JTable(查询记录)8/9
首先检查搜索框是否为空,若为空则恢复原始数据 如果是首次查询,备份当前数据到backupList中 对于非首次查询,使用过滤条件筛选出符合条件的数据 最后根据筛选结果或备份数据填充表格 在不同操作点启用或禁用相关按钮 通过分割函数使代码更易读并保持原有功能不变
发布日期:2021-05-14 04:14:35
浏览次数:19
分类:精选文章
本文共 1572 字,大约阅读时间需要 5 分钟。
优化后的代码展示:
private void onSearch() { String filter = searchField.getText().trim(); if (filter.isEmpty()) { // 过滤条件为空 tableModel.setRowCount(0); // 清空表格 for (Student s : backupList) { // 从备份列表中逐个添加记录 addTableRow(s); } backupList = null; enablebuttons(); // 恢复按钮和其他功能按钮 return; } if (backupList == null) { // 首次执行,备份数据 backupList = new ArrayList<>(); for (int i = 0; i < tableModel.getRowCount(); i++) { Student s = new Student(); s.setName(tableModel.getValueAt(i, 0)); // 获取对应行的数据 backupList.add(s); } } if (!filter.isEmpty()) { // 有过滤条件 Listfiltered = new ArrayList<>(); for (Student s : backupList) { if (s.getName().indexOf(filter) >= 0) { filtered.add(s); } } displayResult(filtered); } disablebuttons(); // 禁用编辑、删除和添加按钮}private void enablebuttons() { addButton.setEnabled(true); deleteButton.setEnabled(true); editButton.setEnabled(true);}private void disablebuttons() { addButton.setEnabled(false); deleteButton.setEnabled(false); editButton.setEnabled(false);}private void displayResult(List filtered) { tableModel.setRowCount(0); // 清空表格 for (Student s : filtered) { addTableRow(s); }}
详细解释:
注:以上代码仅展示核心逻辑,实际需要根据实际项目需求补充完整Class和相关方法。
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2025年04月14日 09时23分20秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
PL/SQL 动态Sql拼接where条件
2019-03-09
Lua-table 一种更少访问的安全取值方式
2019-03-09
虚函数
2019-03-09
斐波那契数列两种算法的时间复杂度
2019-03-09
【自学Flutter】4.1 Material Design字体图标的使用(icon)
2019-03-09
C++清空队列(queue)方法
2019-03-09
【换行符】什么时候用cin.get()吃掉输入流中的换行符
2019-03-09
【二叉树】已知后序与中序求先序
2019-03-09
解决Nginx 404 not found问题
2019-03-09
广东外语外贸大学第三届网络安全大赛Writeup
2019-03-09
hadoop 分布式文件系统的计算和高可用
2019-03-09
【Linux】VMware Workstation 不可恢复错误: (vcpu-0)
2019-03-09
VS中 fatal error LNK1123: 转换到 COFF 期间失败 的解决方法
2019-03-09
ant design pro v5去掉右边content区域的水印
2019-03-09
JavaScript——使用iterator遍历迭代map,set集合元素
2019-03-09
Course Schedule II
2019-03-10
Django ORM操作
2019-03-10
京喜小程序体验评分优化实践
2019-03-10
C#中文转换成拼音
2019-03-10