-1

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

2 に答える 2

0

のドキュメントをご覧くださいDefaultTableModel#addRowaddRow配列が必要Objectsです。あなたができること:

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

  • すべて のモデルを設定していることをご存知Patientですか?これにより、テーブルに1つの行が含まれるようになります。おそらく、呼び出しをループのsetModel 外側に移動する必要があります。for
  • Javaの命名規則では、変数名は小文字で始まることが示されていますTableModel tableModel
于 2013-03-13T14:46:29.553 に答える
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

于 2013-03-13T14:47:47.320 に答える