1

私は Java でプログラムを作成しており、ユーザーがドラッグ アンド ドロップで操作できる SWT ツリー ウィジェットがあります。

問題は、ユーザーがブランチをドラッグ アンド ドロップしたときに、ブランチ アイテムの親をドロップされた treeItem に変更したいということですが、そうする方法はないようです。単純に新しい treeItem を作成することもできますが、子を転送する簡単な方法がないため、すべての子とその孫などを再帰的に再定義する必要があります。親を変更するためだけにブランチ全体を作り直す必要があるのは、かなり不格好で非効率的です。

これを行うためのきれいな方法はありますか?

4

1 に答える 1

0

まあ、きれいな方法は、モデルからビュー/ウィジェットを分離することです(MVCのように)。SWT の場合は、 を使用TreeViewerして実装する必要がありますITreeContentProvider。ツリー ノードの作成は jFace が処理してくれるので、ユーザーはモデルを更新してビューアーを更新するだけで済みます。

于 2013-09-10T06:59:50.457 に答える