2010-11-26 6 views
1

私は内部データモデルとしてDefaultTableModelを使用してJTableを持っています。ネットワークからパケットを受信し、そのパケットをJTableに表示します。今私はそれが最新のパケットと最も古いのドロップだけを含むようにデータモデルのサイズを制限したいが、DefaultTableModelはサイズ制限のないVector型のdataVectorを使用する。誰でも助けてもらえますか? ありがとう!JTableとその内部テーブルモデルのサイズを制限する方法

答えて

3

あなたは常にテーブルの先頭に新しい行を挿入した場合、あなたがそうするとき、あなたは簡単にTableModelのチェックを行うことができ、そして手動で削除:

model.insertRow(0,rowData); 
while (model.getRowCount() > myMaxRowCount) { 
    model.removeRow(model.getRowCount()-1); 
} 

別のオプションを、このプロセスを置くことであろうDefaultTableModelの拡張子(またはAbstractTableModelでも、Vectorをもう少し近代的なものに置き換えることができます)。モデルは維持したいmaxRowCountを保持することができ、新しいデータのaddと古いデータのremoveを行う新しいupdateModelメソッドを実装できます。

関連する問題