0

JTable以下のモデルで更新されない理由を誰かに教えてもらえますか? 初めてうまくいきますが、配列に保持されている新しいデータを入力するint nh, string hNam, int vh, string proc_1 , string proc_2と、テーブルは新しいデータで更新されません。

public class TableModel extends AbstractTableModel {

    int numRows;
    String columnNames[] = {"NH", "Horse Names", "VH",
        "Proc. I", "Proc. II"};
    Object[][] myData;

    TableModel() {
        super();
        numRows = fnh;
        myData = new Object[fnh][5];

        for (int i = 0; i < fnh; i++) {
            for (int j = 0; j < 5; j++) {
                if (j == 0) {
                    myData[i][0] = (Integer) nh[i];
                } else if (j == 1) {
                    myData[i][1] = (String) hNam[i];
                } else if (j == 2) {
                    myData[i][2] = (Integer) vh[i];
                } else if (j == 3) {
                    myData[i][3] = (String) proc_1[i];
                } else {
                    myData[i][4] = (String) proc_2[i];
                }
            }
        }
    }

    @Override
    public int getColumnCount() {
        return columnNames.length;
    }

    @Override
    public int getRowCount() {
        return myData.length;
    }

    @Override
    public String getColumnName(int col) {
        return columnNames[col];
    }

    @Override
    public boolean isCellEditable(int row, int col) {
        return true;
    }

    @Override
    public Object getValueAt(int row, int col) {

        if (col == 0) {
            return nh[row];
        } else if (col == 1) {
            return hNam[row];
        } else if (col == 2) {
            return vh[row];
        } else if (col == 3) {
            return proc_1[row];
        } else {
            return proc_2[row];
        }
    }

    @Override
    public void setValueAt(Object value, int row, int col) {
        myData[row][col] = value;
        fireTableCellUpdated(row, col);
    }
}
4

1 に答える 1