2011-05-18 40 views
7

我需要一个GUI控件来更新持久数据结构(PDS)的更新。如何将持久数据结构“绑定”到Scala中的GUI?

我需要在用户采取某些措施时更新PDS。

因此,例如,一个SWT树和一个简单的树数据结构。

有很多手动,丑陋的方法来做到这一点,但在我看来,这是一个非常普遍的情况,那里可能会有一个非常干净的方法。

我一直在阅读关于玻璃钢,镜片,演员等......似乎可以有一个非常简单,干净,有效的方法来处理这种类型的情况。

回答

0

我能想到的是有一个可变参考PDS的组件。每次更改var的值时,此组件都可以使用新版本的PDS引发事件。您的GUI控件可能正在监听该事件,并通过用新信息重新绘制自己来对其作出反应。其他选项是,侦听事件的组件作为GUI控件的父组件,通过创建它的新实例进行反应,因此控件可以在构造器中接收PDS并仅抽取一次。

-1

如何描述它,似乎用户调用需要在GUI中执行某些操作,然后GUI和数据库必须更新。只要数据库更新是一个副作用,你完全可以依赖所有的SWT事件。

+1

持久数据结构不引用数据库。 – mentics 2011-05-31 18:20:34

0

持久数据结构从不更新。您可能会有一个参考到更改为新版本时的持久数据结构。如果你想跟踪PDS中的增量变化,那将会很尴尬。问题是,在您存储PDS新版本的时候,您仍然拥有旧版本。也许你可以运行diff来产生增量更改。

0

是的,有一个很好的和干净的方法:ValueModels。在Scala中实现应该很容易(我没有发现任何快速搜索)。 AFAIK有一个嵌入在​​中的Java实现。

相关问题