我们如何在Jtable中添加包含序列号(S.No.)的行,每次删除表的数据时都会更新? 例如。: 我有一个jtable包含数据库中的数据
Name Age Class
ram 14 9
hari 15 9
rama 15 10
我希望它是这样的:
S.No. Name Age Class
1 Ram 14 9
2 hari 15 9
3 rama 15 10
如果我删除了hari的数据,那么这个表应该是这样的:
S.No. Name Age Class
1 Ram 14 9
2 rama 15 10
答案 0 :(得分:1)
此代码假设您维护所有学生的列表,并且班级中的任何地方都可以访问该表以及模型。
public void stuff() {
deleteButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
list.remove(table.getSelectedRow());
removeRowsFromTable();
}
});
}
void removeRowsFromTable() throws Exception {
for (int i = table.getRowCount() - 1; i >= 0; i--) {
model.removeRow(i);
}
fillTable();
}
void fillTable() {
for (int i = 0; i < list.size(); i++) {
Student s = list.get(i);
Object[] newRow = new Object[] {i, s.getName(),s.getAge(), s.getClass()};
model.addRow(newRow);
}
}
答案 1 :(得分:0)
做以下事情:
ActionPerformed
侦听器添加到删除按钮ActionPerformed
调用的实现中,该方法将再次使用新条目刷新表。希望这能解决你的问题。
答案 2 :(得分:0)
jTableModel.removeRow(rowIndex);
for(int i = rowIndex; i < jTableModel.getRowCount(); i++){
int val = (int) jTableModel.getValueAt(i, 0);
jTableModel.setValueAt(--val, i, 0);
}