我对将应用程序移植到netbeans平台很感兴趣,但我很难理解如何保持节点和它们包装的对象之间的连接是最新的。
现有应用程序的一个主要组件是一个数据模型,它是一组分层的pojo/javabean对象。其中一些对象是用于分组的容器,另一些是叶节点类型。该模型通常会有数百个对象,最深的嵌套深度约为5-6个对象。
我知道如何使用我的数据模型并实例化一个BeanNode对象树:创建遍历数据模型的ChildFactory类,并创建一个类似的BeanNodes树。到目前一切尚好。一旦我有了Node结构,我就可以添加一个资源管理器来可视化数据,然后添加操作来修改节点(添加/删除/移动)。
对节点的更改必须传播回数据模型。模型还可以由应用程序中与netbeans平台无关的事件更改,并且这些更改必须传播到Node层次结构。
是否有标准的习惯用法或Netbean特性可用于管理节点树和数据模型之间的同步?
到目前为止,我的想法是:为了使节点与数据模型保持同步,我必须让节点监听数据模型上的更改,数据模型将触发更改事件。每个Node对象将侦听正在包装的bean的更改,并做出相应的反应。
为了让数据模型跟上对节点表示的更改,我可以在实现添加/删除/移动等操作的actionPerformed方法期间调用数据模型上的方法。
如何防止更改通知在两个数据结构之间来回跳动的回显?
Netbeans似乎都是关于如何将应用程序整合在一起的约定。这个数据建模问题有没有约定?
发布于 2018-01-26 01:58:35
对节点的更改必须传播回数据模型。应用程序中与netbeans平台无关的事件也可以更改该模型,并且这些更改必须传播到节点层次结构。
为了将更改传播回数据模型,您只需在创建数据模型时将数据模型传递给节点,并对同一实例进行所有更改。
直接对需要传播到注释的数据模型所做的更改将要求您重新创建传递带有元素列表的ChildrenFactory的节点,或者使用LookupListener。
https://stackoverflow.com/questions/48158140
复制相似问题