JTable模型数据未显示更新数据

时间:2013-03-26 17:16:53

标签: java swing jdbc jtable defaulttablemodel

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

1 个答案:

答案 0 :(得分:1)

没有必要致电fireTableDataChanged。这由TableModel调用。

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

要添加行,您可以使用addRow

例如:

tbmodel.setValueAt(driveID, 0, 0);