2011-12-02 3 views
0

私は数時間の問題が解決しないため、次のような問題があります。テーブルに渡されたデータがもう一方のテーブルに表示されなくなるようにするには

私は表Aと表B

表Aは私が達成しようとしています何のResultSetで満たされ、表B、表A

で利用可能な製品に追加されているがあります。一度[追加]ボタンをクリックします。表Aの製品を表Bに送ると、最後の製品は表Aに表示されなくなります。

答えて

2

データが追加され、各テーブルのモデルで処理する必要があります。あるデータを別のデータに '移動'させたい場合は、そのデータを最初のテーブルのモデルから削除し、2番目のテーブルに追加する必要があります。これが完了すると、両方のモデルにfireTableDataChangedを介して変更が通知される必要があるため、再描画することができます。

0

取得および削除選択された要素をtableAからのTableModeltableBに追加のTableModelして、両方のテーブルを更新します。 私はコルビーの@とモデルに集中するゲタの提案@是認うJTableTableModel

+0

-1 "両方のテーブルをリフレッシュする" - テーブルモデルを操作する以外は何もする必要はありませんが、それらは正常に動作している必要があります。 – kleopatra

+0

@kleopatraいいえ、そうでなければビューをリフレッシュするには、変更がUIに表示されない – GETah

+0

tableModelsが正しく実装されていない場合 - no _kust_ fire自身を追加/削除する – kleopatra

1

を使用して、このtutorialを参照してください。またmodelAmodelBに共通のデータ構造、たとえばList<Product>へのアクセスを与えることを考慮してください。ここで、各Productには、それぞれのモデルが対応するビューに表示される内容を決定できるブール値属性があります。

+0

それは面白いです。 – mKorbel

関連する問題