TableModel インターフェイスを実装するクラスがあります。jTable で setModel を呼び出し、クラスをモデルとして設定してから呼び出すと、jTable.updateUI();
すべて問題ありません。しかし、状況によっては、モデルを別の構造に変更したいことがあります。データの表示は引き続き正常に機能しますが、列が更新されません。新しいモデルの列も更新するようにテーブルを強制する方法はありますか?
質問する
6310 次
4 に答える
6
データと構造の両方が変更された場合、モデルはそれに応じたイベントを発生させる必要があります。例:fireTableStructureChanged。
http://docs.oracle.com/javase/tutorial/uiswing/components/table.html#fire
于 2012-06-20T12:12:40.780 に答える
4
jTable.updateUI();
ルックアンドフィールに関連する方法です。使用しないでください
TableModelインターフェイスを実装するクラスがあります。
からのメソッドの右通知をオーバーライドする必要があります
TableModel
を使用する
DefaultTableModel
と、APIに実装されているすべての通知機能があります。すべての更新はで行う必要があります
EventDispatchThread
于 2012-06-20T12:16:14.357 に答える
-1
私のように小さなハックを書いているだけの場合は、.updateUI()メソッドの代わりに.repaint()メソッドを使用することを検討してください。
TableModelを使用しないため、これを使用しましたが、太陽(オラクル)チュートリアルの最初の例のように、Object[][]にデータがあるだけです。
于 2013-01-23T08:42:13.910 に答える