0

我有 3 ArrayLists 和JTable.
我希望能够通过选择中的元素并例如单击一个按钮来 从选定的(从 3 个之一)中添加/编辑/删除元素。ArrayListJTable

我有这个代码只使用一个ArrayList

/* ... */
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);
/* ... */

我怎样才能将或的更改为 2. 或 3.所以如果我编辑它也会修改源?EventListFilterListArrayListEventListArrayList

4

1 回答 1

0

据我所知,Glazed Lists 不会处理将事件列表中的更改传播回底层 ArrayLists。实际上,在您的示例中,您的事件列表和数组列表没有以任何方式链接 - 事件列表只包含与数组列表相同的所有项目。在此处查看 GlazedLists.eventList 静态助手的 javadoc

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

于 2010-10-04T16:02:38.093 回答