如何清除jTable的内容?
我有一个jTable,它有一个表模型,定义如下:
javax.swing.table.TableModel dataModel =
new javax.swing.table.DefaultTableModel(data, columns);
tblCompounds.setModel(dataModel);
有谁知道我如何清除其内容?只是为了让它返回到一个空表?
我有一个jTable,它有一个表模型,定义如下:
javax.swing.table.TableModel dataModel =
new javax.swing.table.DefaultTableModel(data, columns);
tblCompounds.setModel(dataModel);
有谁知道我如何清除其内容?只是为了让它返回到一个空表?
最简单的方法:
//private TableModel dataModel;
private DefaultTableModel dataModel;
void setModel() {
Vector data = makeData();
Vector columns = makeColumns();
dataModel = new DefaultTableModel(data, columns);
table.setModel(dataModel);
}
void reset() {
dataModel.setRowCount(0);
}
即,您的重置方法告诉模型有0行数据模型将向表触发适当的数据更改事件,该表将重新构建自身。
如果您打算删除内容但其单元格保持不变,则:
public static void clearTable(final JTable table) {
for (int i = 0; i < table.getRowCount(); i++) {
for(int j = 0; j < table.getColumnCount(); j++) {
table.setValueAt("", i, j);
}
}
}
好的,如果您打算删除所有单元格但保留其标头:
public static void deleteAllRows(final DefaultTableModel model) {
for( int i = model.getRowCount() - 1; i >= 0; i-- ) {
model.removeRow(i);
}
}