1

基になるモデルが変更されたときに JxTreeTable を再描画する最善の方法を見つけるのに苦労しています。

テーブル内のノードごとに対応するモデル オブジェクトがあるため、モデルが変更された場合はノードを取得できます。

その後、ノードが与えられた場合、テーブルで再描画/変更イベントをトリガーして強制的に再描画する方法を教えてください。手がかりを歓迎します。詳細を軽くして申し訳ありません。コードで示すことはあまりありません。

4

6 に答える 6

4

私はこれをやってしまった:

            TreeTableNode parent = node.getParent();
            modelSupport.firePathChanged(new TreePath(getPathToRoot(parent)));

このコードは、DefaultTreeTableModel を拡張する私のモデルで呼び出されます。

node変更されたモデルを含む AbstractMutableTreeTableNode です。

于 2012-03-30T14:43:32.207 に答える
3

JTreeモデルが標準およびと同様に正しいイベントを発生させると、自動的に機能しますJTable

標準の例JTreeは、Swing tutorial

于 2012-03-27T20:58:49.980 に答える
1

あなたはこれを試すことができます:

yourJxTreeTable.getTreeTableModel.fireTableRowsUpdated(firstRow, lastRow)

うまくいくと思います。

于 2012-03-28T07:23:33.400 に答える
0

DefaultTreeTableModel には、イベントを発生させるために使用できるmodelSupportフィールドが含まれています。あなたの場合、モデルで次のコードを使用できます。

modelSupport.fireNewRoot(); 
于 2015-08-09T11:45:22.550 に答える
-1

シンプル、JXTreeTable.updateUI() への呼び出し;

于 2015-06-18T12:14:59.567 に答える