jtable删除行的问题
jtable排序后删除行,会出现索引不对应的问题
//设置列表可排序
jTable1.setAutoCreateRowSorter(true);
解决办法
关键代码:
//转换为Model的索引,这句很重要,否则索引不对应
rowIndexes[i] = jTable1.convertRowIndexToModel(rowIndexes[i]);
//排序,这句很重要,否则顺序是乱的
Arrays.sort(rowIndexes);
private void btnDeleteActionPerformed(java.awt.event.ActionEvent evt) { int[] rowIndexes = jTable1.getSelectedRows(); if(rowIndexes.length == 0){ JOptionPane.showMessageDialog(null, "请选择行后再删除!"); return; } int r = JOptionPane.showConfirmDialog(null, "你确定要删除吗?", "确认删除", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE); if (r != JOptionPane.YES_OPTION) { return; } for (int i = 0; i < rowIndexes.length; i++) { //转换为Model的索引,这句很重要,否则索引不对应 rowIndexes[i] = jTable1.convertRowIndexToModel(rowIndexes[i]); } //排序,这句很重要,否则顺序是乱的 Arrays.sort(rowIndexes); DefaultTableModel tableModel = (DefaultTableModel) jTable1.getModel(); //降序删除 for(int i=rowIndexes.length-1; i>=0; i--){ tableModel.removeRow(rowIndexes[i]); //与Model对应的列表数据,含有更多元数据 //MainFrame.resultList.remove(rowIndexes[i]); } }
网上很多人写的删除方法都不涉及表格排序,涉及表格排序的转换索引后又不排序,
真心感觉jtable的操作太麻烦了,比winform的差多了。
相关推荐
JTable数据库基本操作多行增删改查,介绍详细,源代码齐全
Java Swing JTable分页!JAVA源码!
无需修改已有代码,快速为jtable添加行间拖拽功能。 无需实现dnd相关接口,使用方便
Swing JTable 常用属性Swing JTable 常用属性Swing JTable 常用属性Swing JTable 常用属性Swing JTable 常用属性
JTable实现下拉动态加载数据,滑动动态加载数据,纯原生态java。
java swing 导出Jtable里面的数据到excel,不用拷贝代码,直接粘贴代码
swing Jtable使用checkboxswing Jtable使用checkboxswing Jtable使用checkboxswing Jtable使用checkboxswing Jtable使用checkboxswing Jtable使用checkboxswing Jtable使用checkboxswing Jtable使用checkboxswing ...
Swing之JTable的详细介绍,讲述jtable的操作和excle表之间的转换
用Java Swing Jtable做的日历
复杂JTable(复杂表头、跨行列表体)
封装JTable同时锁定多行多列效果,通过多层布局实现,不需要多个数据集,使用简单,不用对现有代码做改动。
文件主要内容是Java Swing中JTable的常用功能的应用
Swing之JTable用法
Swing JTable组件设置单元格合并,内置Test测试类,核心API GridBagTable tasktable = new GridBagTable(model); tasktable.mergeCells(startRow, endRow, 0, 0);
JTable 拖动行 移动行的ui,直接 table.setUI(new DragDropRowTableUI()); 调用
主要介绍了Java Swing实现JTable检测单元格数据变更事件的方法,结合完整实例形式分析了Swing实现JTable检测单元格数据变更事件过程中出现的问题与相关解决方法,需要的朋友可以参考下
JTable增加删除按钮实例,用于java开发
Swing之JTable详解 类层次结构图: java.lang.Object --java.awt.Component --java.awt.Container --javax.swing.JComponent --javax.swing.JTabel
java swing表格分页控件封装,有利于在开发中节约时间