我的Swing应用程序有很少的文本文件和Jtable。当我更新textFileds中的值时,这些值在更新数据后不会立即显示在Jtable上。 我尝试使用tbmodel.fireTableDataChanged();但那没用。
try {
String driveID = txtDriverID.getText();
String trnsCompName = (String)cmbTransCompany.getSelectedItem();
String trDriverName = txtName.getText();
String trAddress = txtAddress.getText();
String trDob = txtDOB.getText();
String license = txtLicence.getText();
String telephone = txtTelephone.getText();
PvtTransportDriver pvtDriver = new PvtTransportDriver(driveID, trnsCompName, trDriverName, trAddress, trDob, license, telephone);
int res = PvtTransDriverController.updatePvtTransportDriver(pvtDriver);
tbmodel = (DefaultTableModel) tblAllPvtDrivers.getModel();
tbmodel.fireTableDataChanged();
if (res > 0) {
JOptionPane.showMessageDialog(null, "Updated");
}
} catch ( ClassNotFoundException | SQLException ex) {
Logger.getLogger(PvtTransDriver.class.getName()).log(Level.SEVERE, null, ex);
}
答案 0 :(得分:1)
没有必要致电fireTableDataChanged
。这由TableModel
调用。
要更新表格行,您可以使用setValueAt
要添加行,您可以使用addRow
例如:
tbmodel.setValueAt(driveID, 0, 0);