0

私はかなり長い間これに悩まされてきました。テーブルモデルを使用して実際のテーブルを新しい値で更新することは理解していますが、これを機能させることができないようです。フォームに tablemodellistener を追加し、tableChanged メソッドを用意しました。ただし、テーブルに挿入するときに tableChanged メソッドが呼び出されない理由がわかりません。

public void tableChanged(TableModelEvent e) {

    int row = e.getFirstRow();
    int column = e.getColumn();
    DefaultTableModel model = (DefaultTableModel)e.getSource();
   // String columnName = model.getColumnName(column);
    //Object data_1 = model.getValueAt(row, column);

    //model.fireTableCellUpdated(row, column);
    //model.fireTableDataChanged();
    //customerTable.repaint();


}

フォームの更新ボタンをクリックすると、テーブルを完全に再構築できますか? それはまったく可能でしょうか?そうでない場合、更新ボタンのアクション実行メソッドから tableChanged メソッドを呼び出してトリガーする必要がありますか? 私はかなり長い間これにこだわっていましたが、学習のためにこれを理解したいと思っています。

4

2 に答える 2

0

テーブル TableModel のリスナーとしてテーブルを手動で追加する必要があると思います。

于 2011-03-29T15:32:35.340 に答える
0

オプションがあり、ニーズに合っている場合は、GlazedListsをご覧になることをお勧めします。その後、テーブル モデルの更新について心配する必要はありません。すべて処理されます。

これは、GlazedLists チュートリアルの関連部分へのジャンプです。

于 2011-03-29T14:13:01.407 に答える