首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaFX ObservableList内容绑定

JavaFX ObservableList内容绑定
EN

Stack Overflow用户
提问于 2015-07-08 02:01:14
回答 1查看 1.1K关注 0票数 0

我知道你可以像这样创建一个列表绑定:

代码语言:javascript
复制
ObservableList list1 = ...;
ObservableList list2 = ...;

Bindings.createContentBinding(list1, list2);

但我想以一种特殊的方式将它们绑定在一起。假设我有这些类型:

代码语言:javascript
复制
Object obj = ...;
MyObject myObj = new MyObject(obj);

和这些列表:

代码语言:javascript
复制
ObservableList<Object> objList = ...;
ObservableList<MyObject> myObjList = ...;

每次在objList中添加新对象时,我都希望使用new MyObject(obj);将一个对象添加到myObjList

您可以使用Bindings.create*Binding(...)绑定其他属性,但是列表似乎没有对应的属性。

对如何克服这个问题有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2015-07-08 03:08:05

代码语言:javascript
复制
objList.addListener(e->{
    if(e.wasAdded)
    {
        if(myObjectList.size>=e.getFrom())
            myObjList.Add(new myObject(objList.get(objList.size-1)));
        else{
             myObjList.Add(e.getFrom(),new myObject(objList.get(e.getFrom()));
     }
    }
    if(e.wasRemoved)
    {
         myObjectList.Remove(e.getFrom());
    }   
    if(e.wasPermutated)
    {
         //handle this as well
    }
});

希望这能有所帮助:)

进行编辑以获取更改的对象,而不是假设添加了最后一个对象。还可以删除对象。可能有一些错误,因为我还没有编译和检查它。如果是的话,请随意编辑它。希望它至少足够好,以便对如何实现有一个大致的了解。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31276063

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档