JTable模型填充

时间:2013-03-13 14:40:59

标签: java swing

我在GUI上的表有字段,我想要发生的是调用此方法创建新行并只填写信息。错误是这个

  

找不到getrow

的合适方法
public void UpdateTable()
{
    DefaultTableModel TableModel = new DefaultTableModel();
    for(Patient k: PatientList)
    {
        int TableID = k.getAccountNumber();
        String TableName = k.getName();
        int TableAge = k.getAge();
        String TableAddress = k.getAddress();
        String TableSex = k.getSex();
        String TablePhone = k.getPhone();

        //I get the error here
        TableModel.addRow(TableID,TableName,TableAge,TableAddress,TableSex,TablePhone);

        TableView.setModel(TableModel);
    }
}

2 个答案:

答案 0 :(得分:0)

查看DefaultTableModel#addRow的{​​{3}}。 addRow需要Objects数组。你可以这样做:

tableModel.addRow(new String[] { tableID, tableName, ... });

除了

  • 您是否知道要为每个 Patient设置模型?这将导致表包含单行。您可能希望将调用移至setModel 之外的for循环。
  • Java命名约定表明变量名称以小写字母开头TableModel tableModel

答案 1 :(得分:0)

您确实应该使用以下代码:

public void UpdateTable()
{
DefaultTableModel tableModel = (DefaultTableModel)TableName.getModel();
for(Patient k: PatientList)
{
   int TableID = k.getAccountNumber();
   String TableName = k.getName();
   int TableAge = k.getAge();
    String TableAddress = k.getAddress();
    String TableSex = k.getSex();
    String TablePhone = k.getPhone();

    //Add row here.
    tableModel.addRow(new String[]{TableID,TableName,TableAge,TableAddress,TableSex,TablePhone });
   }
}


请查看DefaultTableModel.addRow(),了解如何使用addRow()

DefaultTableModel方法