0

私は AbstractTableModel MyModel; を持つテーブル名 jTable を持っています。抽象モデルを jTable に正常に実装できました。フォームでUPDATEボタンを押してSql Queryを使用してデータベースを更新すると、jTableを使用して再入力すると正常jTable.setModel(new MyModel())に動作します。

しかし、膨大な数の行が発生する場合、これは賢明な手順ではないと思います。レコードをデータベースに更新または挿入した後、テーブル モデルを jTable にリセットまたは再設定するたびに、効率的な手順ではありません。fireTableRowUpdated のリスナーについて読みましたが、どのように記述すればよいかわかりませんでしたか? 最初に jTable を更新しないためです。データベースを更新しているので、現在の AbstractTableModel と jTable を更新する必要がありました。

私を正しいパスに導くことができる人はいますか..どうすればリスナーを設定したり、メソッドを呼び出したりできるので、AbstractTableModelはjTableも更新および更新します。また、データベース テーブルのすべての行を再入力するべきではないと思います。

4

1 に答える 1

1

コメントをくれたすべての人に感謝します。やっと答えを導き出すことができました。AbstractTableModel にメソッドを作成しました:

myObject rec = new myObject();

public void updateRow(Object value, int row){
        rec.set(row, value);
        fireTableRowsUpdated(row, row);
    }

and in main class

mymodel.updateRow(newvalueObject, rowindex);

そして、それは機能します。案内してくれてありがとう...

于 2013-07-22T11:49:34.453 に答える