Groovy 如何观察格里芬玻璃纤维的变化?

Groovy 如何观察格里芬玻璃纤维的变化?,groovy,griffon,glazedlists,Groovy,Griffon,Glazedlists,我有一个griffon 1.5应用程序,它有一个glazedlist,我试图从中观察变化,并将其大小绑定到视图中的一个字段 在我的模型中,我有 @Bindable timeslotPicks = 0 @Bindable @PropertyListener (tableChanged) EventList<ProductionLineEntry> table = new BasicEventList<ProductionLineEntry>() ....

我有一个griffon 1.5应用程序,它有一个glazedlist,我试图从中观察变化,并将其大小绑定到视图中的一个字段

在我的模型中,我有

@Bindable timeslotPicks = 0

@Bindable
@PropertyListener (tableChanged) EventList<ProductionLineEntry> table =
        new BasicEventList<ProductionLineEntry>()  ....

唉,我的tableChanged事件没有触发。。如何将视图字段绑定到glazedlist的当前大小?提前谢谢

问题在于,您观察的是对表字段所做的更改,而不是预期的表字段内容。换句话说,您编写的tableChanged闭包代码会在bean.table更新时(例如,当一个新的事件列表被分配给该字段时)做出反应


您必须编写ListChangeListener,以使列表更改适应列表大小。

我重新调整了模型

EventList<ProductionLineEntry> table =
        new BasicEventList<ProductionLineEntry>()
...
它现在工作得很好


谢谢

我使用了ListEventListener,因为条目只会被添加或删除,而不会被修改。。我想我终于到了那里。。谢谢
EventList<ProductionLineEntry> table =
        new BasicEventList<ProductionLineEntry>()
...
 // Add a listener to my list ..
    model.table.addListEventListener(
       {e-> model.timeslotPicks = model.table.size()} as ListEventListener
    )