ObservableList vs Models

Knut Arne Vedaa knut.arne.vedaa at broadpark.no
Wed Oct 17 14:10:52 PDT 2012


So what you want is one single backing list, and any numbers of "views" 
into that list that can be independently sorted and filtered without 
changing or making a copy of the backing list, with these views being 
observable as well?

I'm not sure if this would be possible, but probably the implementations 
of the upcoming SortedList and FilteredList 
(http://javafx-jira.kenai.com/browse/RT-17053) will shed some light on 
the issue.

Perhaps someone in the know could give some info on the features of 
those and how and if they relate to OPs question...


Knut Arne Vedaa


On 17.10.2012 22:01, Mark Claassen wrote:
> I really like the promise of the ObservableList, but am a bit wary of the
> current implementation.
>
> We have several instances in our code where we rely on unique models
> wrapping the same data.  We can have a large list of items, and show them
> in a combo box, and list, and a table.  Generally, only one of these is
> visible at a given time, but having a single backing list is very handy.
>
> Further, each list can be independently sorted and filtered via a decorator
> construct in the model.
>
> By tweaking the underlying list object (so it fires events) and model (so
> that it listens to events), we accomplished something similar to an
> ObservableList:
> * Changes to the underlying list fires events to the models
> * Models could then respond as appropriate, add/deleting/changing items as
> necessary...perhaps triggering the view to re-sort the decorator as
> necessary
>
> However, different from ObservableList, we can manage the
> side-effects...not sorting and filtering all models in an identical fashion.
>
> Is there a mechanism to do this in JavaFX?  The Swing methodology seemed a
> nice way to do it.  With ObservableLists, it seems that in the end, I don't
> get much.  The more common / trivial case is handled.  However, in the case
> of a our application, I will need to
> * Make several ObservableLists, one for each control
> * Manage the synchronization between these lists programmaticly by myself.
>
> Am I missing something?   Is there a way to have an ObservableList
> listening to another ObservableList, so that list #2 can notice the updates
> without forcing the sort order and filtering on list #1?  Or am I just
> going to end up having to cut through extra/different layers of abstraction
> to re-implement what I had in Swing.
>
> Mark
>



More information about the openjfx-dev mailing list