JTable
でデータを行単位で表示するにはどうすればよいですか?私のデータは膨大なものになり、何千もの行があるので、行単位で表示したいので、ユーザーはその行が表示されていることを確認できます。行ごとにJTableを表示する
私はpaint
、repaint
、validate
、すべてのmodel.fire
...などのようなさまざまな方法を試してみたが、すべては終わりで追加された後にまだ私のテーブルには、データだけを表示します。
public void updateTableRowByRow(String row) {
// length of row always equals cols
int cols = 16;
int i = 0;
DefaultTableModel model = (DefaultTableModel) gui.myTable.getModel();
Vector<String> rowData = new Vector<String>();
for (int c = 0; c < cols; c++) {
rowData.add(String.valueOf(row.charAt(i++)));
}
model.addRow(rowData);
// tried many things here to get it to refresh but nothing worked
}
私は、このメソッドを呼び出す前に、私はテーブルをクリアします:すべてが追加された後
DefaultTableModel model = (DefaultTableModel) gui.myTable.getModel();
model.setRowCount(0); // delete all
あなた自身の 'TableModel'を実装してみませんか? – ThomasEdwin
* "データが膨大になり、何千もの行が表示されるので、行単位で表示して、ユーザーに表示されるようにしたいと思います。*実際に大きなテーブルを試したことがありますか?つまり、データを取得すると1秒あたり100,000行が占めることになりますが、表自体はスマートで表示可能な行数は表示されますが、 60。そのレンダリングは、目の瞬きの中で行うことができます。 –
@ThomasEdwin AbstractTableModelから拡張したカスタムテーブルモデルを作成しましたが、それも機能しませんでした。私が書いたaddRowメソッドにfireTableDataChangedを配置します。私はすべての行が追加された後にそれをリフレッシュする方法や何をすべきか分かりません:( – User1915