DefaultTableModelを拡張し、そのdataVectorを変更したいと思います。 私はのdataVectorの列にDataHolderの特定のフィールドのみを表示するようにしたい:DefaultTableModelをサブクラス化してdataVectorを変更するには
public class MyTableModel extends DefaultTableModel {
/**
* The data vector
*/
private Vector<DataHolder> dataVector_;
//overridden method to add row in the table model
public void addRow(DataHolder rowData) {
insertRow(getRowCount(), rowData);
}
public void insertRow(int row, DataHolder rowData) {
dataVector_.insertElementAt(rowData, row);
fireTableRowsInserted(row, row);
}
...} //end of MyTableModel
class DataHolder{
private int age;
private int year;
private int month;
private int day;
}
がどのように私は私のJTableの中の特定DataHolderフィールドを表示することができますか?私のテーブルには、月、日、年の3つの列があります。
ありがとうございます。このメソッドは、テーブルデータの更新時に、特にfireTableRowsInsertedが呼び出されたときにテーブルレンダラーによって呼び出されますか? – doku
このメソッドは、テーブルがfireTable ...()を変更したときと、テーブルが再描画されたときに常に呼び出されます。 – multiholle