更改SWT TreeItem父级

时间:2013-09-07 19:31:54

标签: java user-interface tree widget swt

我正在用Java创建一个程序,我有一个SWT树小部件,用户应该通过拖放操作来玩。

现在的问题是,当用户拖放分支时,我想将分支项的父级更改为放在哪个treeItem上,但似乎没有任何方法可以执行此操作。我可以简单地创建一个新的treeItem,但没有简单的方法来传递孩子,所以我需要递归地重新定义所有的孩子,他们的孙子等等。对于我来说,我需要重新制作整个分支以改变父级,这对我来说似乎很笨拙和低效。

有没有干净的方法可以做到这一点?

1 个答案:

答案 0 :(得分:0)

嗯,干净的方法是将视图/小部件与模型分开(如在MVC中)。如果是SWT,您应该使用TreeViewer并实施ITreeContentProvider。 jFace将负责为您创建树节点,您只需要更新模型并刷新查看器。