0

私は3ArrayList秒とを持っていJTableます。で要素を選択し、たとえばボタンをクリックすることで 、選択した(3つのうちの1つから)
要素を追加/編集/削除できるようにしたいと思います。ArrayListJTable

私は1つだけを使用するためのこのコードを持っています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 に答える