以下を使用して JTable を更新するスレッドをかなり見てきました。
String[] columnNames = {"column1","column2,......,"columnN"};
String[][] tableData = new String[1][columnNames.length];
JTable table = new JTable(tableData,columnNames);
JScrollPane scrollpane = new JScrollPane(table);
contentPane.add(scrollpane);
... に保存されているデータを変更してtableData
呼び出します...
AbstractTableModel model = (AbstractTableModel) table.getModel();
model.fireTableDataChanged();
しかし、これは私にとって何も変わらないようです。最初に1行の空のテーブルを表示し、ユーザーがデータファイルをロードしたときに更新する必要がありますが、以下のコードはうまくいかないようです。再定義しているためだとtableData
思いますが、ユーザーがファイルをロードするまで表示されるデータの行数がわからないため、これを行う必要があります。テーブルを更新するにはどうすればよいですか?
編集: より明確にするために、私が実行しているコードは次のとおりです。
//Initialize Table With 1 Blank Row
String[] columnNames = {"column1","column2,......,"columnN"};
String[][] tableData = new String[1][columnNames.length];
JTable table = new JTable(tableData,columnNames);
JScrollPane scrollpane = new JScrollPane(table);
contentPane.add(scrollpane);
//When the file is loaded resize tableData so it can fit all the file data
tableData = new String[length of data file][columnNames.length];
//Update some of the tableData points
tableData[0][0]="data 1";
tableData[1][0]="data 2";
tableData[0][1]="data 3";
tableData[1][1]="data 4";
....etc
//Tell the JTable to update
AbstractTableModel model = (AbstractTableModel) table.getModel();
model.fireTableDataChanged();