2

次の問題があります。JTreeTableとAbstractTreeTableModelを拡張するモデルを作成しました。問題は、挿入操作のたびにfireTreeStructureChanged()メソッドを呼び出した場合にのみ、データが表示されることです。実際、fireTreeNodesInserted()メソッドを単純に起動しても、何も起こりません。

さらに、私の行のデータは、追加/削除イベントの後でのみ更新されます。値を単純に変更した場合は、テーブルをクリックした後にのみ更新されます。

どうしてそれは可能ですか?

編集

fireTreeStructureChanged()を呼び出すと、メソッドfireTableDataChanged();が呼び出されます。代わりに、fireTreeNodesInserted(int firstRow、int lastRow)はfireTableRowsInserted();を呼び出します。しかし、おそらく私はそれに間違ったパラメータを渡します...私が渡さなければならない最初と最後の行はどれですか?

4

1 に答える 1

1

イベント発生の問題を軽減するために、SwingXには、プロジェクトに関係なく使用できるヘルパー クラス TreeModelSupport があります。

編集

それ標準的な方法です :-) TreeModelEvent と TreeModelListener の api doc の十分にテストされた 1:1 マッピングを読むと、理解するのに役立ちます。

于 2011-09-16T07:46:12.503 に答える