0

我的 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);
        }
4

1 回答 1

1

是没有必要调用fireTableDataChanged的。这是由TableModel.

要更新表行,您可以使用setValueAt

要添加行,您可以使用addRow

例如:

tbmodel.setValueAt(driveID, 0, 0);
于 2013-03-26T18:01:39.447 回答