我有一个JTable。我从数据库中获取表值。我正在为我的数据库添加一些值,并希望刷新JTable。为了刷新我正在使用它。
try {
buildTableModel(rs).fireTableDataChanged();
table.setModel(buildTableModel(rs));
table.repaint();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
但是当我使用它时,我的桌子消失了。我究竟做错了什么?我搜索谷歌但无法找到任何解决方案。
这是我的桌子模型;
public DefaultTableModel buildTableModel(ResultSet rs)
throws SQLException {
ResultSetMetaData metaData = rs.getMetaData();
// names of columns
Vector<String> columnNames = new Vector<String>();
int columnCount = metaData.getColumnCount();
for (int column = 1; column <= columnCount; column++) {
columnNames.add(metaData.getColumnName(column));
}
// data of the table
Vector<Vector<Object>> data = new Vector<Vector<Object>>();
while (rs.next()) {
Vector<Object> vector = new Vector<Object>();
for (int columnIndex = 1; columnIndex <= columnCount; columnIndex++) {
vector.add(rs.getObject(columnIndex));
}
data.add(vector);
}
return new DefaultTableModel(data, columnNames);
}