希望你能帮帮我!!!我有一个 JComboBox,当我单击“搜索”按钮时,会出现一个 JTable。当我更改 JComboBox 的选择并再次单击“搜索”时,表格会更改其模型并向我显示新数据,但如果我单击那里,旧模型会再次出现。数据来自数据库的查询。
我尝试使用 dtm.setRowCount(0) 但没有用。我只有一个 JTable,并且我对每个查询都使用相同的 dtm (DefaultTableModel)。
// before I created the JComboBox as JComboBox jcb = new JComboBox();
//and I filled jcb with the item
public void showTable() {
DefaultTableModel dtm = new DefaultTableModel();
JTable t = new JTable();
dtm.setColumnIdentifiers(columnnames);
//columnnames is a String array
JScrollPane pane = new JScrollPane(t);
pane.setBounds(25, 120, 850, 150);
String s = jcb.getSelectedItem().toString();
try {
//just the usually PreparedStatement with a select
ResultSet Rs = pstm.executeQuery();
while (Rs.next()) {
dtm.addRow(new Object[] { Rs.getString(1), Rs.getString(2), Rs.getString(3), Rs.getString(4),
Rs.getString(5), Rs.getString(6), Rs.getString(7), Rs.getString(8), Rs.getString(9),
Rs.getString(10) });
}
conn.close();
} catch (Exception e) {
System.out.println(e.getMessage());
}
t.setModel(dtm);
add(pane);
}