JTable是Java Swing库中的一个组件,用于显示和编辑表格数据。AbstractTableModel是JTable的一个抽象类,用于提供数据模型和管理表格数据的方法。
要删除JTable中的所有行,可以通过以下步骤实现:
以下是一个示例的代码:
import javax.swing.*;
import javax.swing.table.AbstractTableModel;
public class CustomTableModel extends AbstractTableModel {
private Object[][] data;
private String[] columnNames;
public CustomTableModel(Object[][] data, String[] columnNames) {
this.data = data;
this.columnNames = columnNames;
}
@Override
public int getRowCount() {
return data.length;
}
@Override
public int getColumnCount() {
return columnNames.length;
}
@Override
public Object getValueAt(int row, int col) {
return data[row][col];
}
public void deleteAllRows() {
data = new Object[0][columnNames.length];
fireTableDataChanged();
}
public static void main(String[] args) {
Object[][] data = {{"1", "John"}, {"2", "Jane"}, {"3", "Bob"}};
String[] columnNames = {"ID", "Name"};
CustomTableModel model = new CustomTableModel(data, columnNames);
JTable table = new JTable(model);
// 删除所有行
model.deleteAllRows();
// 刷新表格显示
table.repaint();
}
}
在上述示例中,CustomTableModel类继承自AbstractTableModel,并实现了必要的方法。deleteAllRows()方法用于删除所有行的数据,通过重新创建一个空的data数组,并调用fireTableDataChanged()方法通知JTable数据发生变化。在main()方法中,创建了一个包含数据和列名的CustomTableModel对象,并将其传递给JTable的构造函数。然后调用deleteAllRows()方法删除所有行的数据,并通过repaint()方法刷新表格显示。
对于这个问题,腾讯云没有特定的产品或链接与之相关。
“WeCity未来城市”
腾讯云Global Day LIVE
T-Day
云原生正发声
云原生正发声
云+社区技术沙龙[第14期]
云+社区技术沙龙[第17期]
DBTalk
高校公开课
领取专属 10元无门槛券
手把手带您无忧上云