代码之家  ›  专栏  ›  技术社区  ›  user

glazedlist和JTable具有多个源

  •  0
  • user  · 技术社区  · 14 年前

    ArrayList s和a JTable .
    我希望能够添加/编辑/删除 (来自3个选项中的一个) 阵列列表 通过选择 例如,点击一个按钮。

    阵列列表 :

    /* ... */
    EventList<MyClass> eventList = GlazedLists.eventList(myFirstArrayList);
    SortedList<MyClass> sortedList = new SortedList<MyClass>(eventList, null);
    filterList = new FilterList<MyClass>(sortedList);
    EventTableModel<MyClass> listModel = new EventTableModel<MyClass>(filterList,
            myTableFormat);
    table.setModel(listModel);
    TableComparatorChooser.install(table, sortedList,
            AbstractTableComparatorChooser.MULTIPLE_COLUMN_MOUSE);
    selectionModel = new EventSelectionModel<MyClass>(filterList);
    table.setSelectionModel(selectionModel);
    /* ... */
    

    我怎样才能改变 EventList 或者 FilterList 去2号。或者3号。 阵列列表 它将修改源代码 也是吗?

    1 回复  |  直到 14 年前
        1
  •  0
  •   Andy    14 年前

    据我所知,glassed列表无法处理将事件列表中的更改传播回底层ArrayLists。实际上,在您的示例中,事件列表和数组列表没有以任何方式链接——事件列表只包含与数组列表相同的所有项。有关GlazedLists.eventList静态辅助对象 here

    您可能希望在事件列表上安装一个侦听器,并将任何更改传播到数组列表。还要确保操作事件列表以响应GUI删除事件。如果修改筛选器列表,则事件不会向后传播到事件列表。