0

NetbeansでUIを設計していますが、テーブルの1つを機能させるのに問題があります。このメソッドを呼び出すと、その中のデータは更新されません。

public void UpdateTable() {
    DefaultTableModel TableModel = new DefaultTableModel();
    //(new Object[] { "ID", "Name", "Age" "Sex" "Address" "blah" }, 5)

    TableView.setModel(TableModel);

    for (Patient k : PatientList) {
        String TableID = String.valueOf(k.getAccountNumber());
        String TableName = k.getName();
        String TableAge = String.valueOf(k.getAge());
        String TableAddress = k.getAddress();
        String TableSex = k.getSex();
        String TablePhone = k.getPhone();

        Object[] Col = { "Name", "Code", "age", "blah", "Who", "ghg" };
        Object[] Data = { TableID, TableName, TableAge, TableAddress,
                TableSex, TablePhone };

        TableModel.addRow(Data, Col); //here
        JTableHeader header = TableView.getTableHeader();

        repaint();
    }

    System.out.println("Model Set");
    TableView.setModel(TableModel);
}

コメントした行でエラーが発生しており、この問題の解決方法について完全に混乱しています。

4

1 に答える 1

1

Java ドキュメントを読むことから始めます

を使用して「空の」テーブル モデルを作成する方法の 1 つは、次のDefaultTableModelようなことを行うことです...

DefaultTableModel model = new DefaultTableModel(
                                    new Object[]{"ID", "Name", "Age" "Sex" "Address" "blah"},
                                    0);

これは重要。モデルに既存の行がないようにします。

2つのaddRow方法しかありません。

Object[] Data = { TableID, TableName, TableAge, TableAddress, TableSex, TablePhone };
model.addRow(data);

TableView.setModel(TableModel);最初のandJTableHeader header = TableView.getTableHeader();を取り除き、repaint();価値を追加していないため

詳細については、テーブルの使用方法をお読みになることを強くお勧めします

于 2013-03-14T00:40:57.167 に答える