質問

私は3つあります ArrayListsおよびa JTable.
から要素を追加/編集/削除できるようにしたい 選択しました (3つのいずれかから) ArrayList の要素を選択します JTable たとえば、ボタンをクリックします。

私はこのコードを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);
/* ... */

どうすれば変更できますか ソースEventList または FilterList 2.または3へ。 ArrayList したがって、編集した場合 EventList ソースを変更します ArrayList それも?

役に立ちましたか?

解決

私の知る限り、Glazedリストは、イベントリストの伝播変更を処理しません。基礎となるアレイリストに戻ります。実際、例では、イベントリストと配列リストは決してリンクされていません。イベントリストには、配列リストと同じアイテムがすべて含まれています。 GlazedLists.EventList Static Helperについては、Javadocを参照してください ここ

おそらくやりたいのは、イベントリストにリスナーをインストールし、配列リストの変更を伝播することです。また、GUI削除イベントに応じてイベントリストを操作してください。フィルターリストを変更すると、イベントはイベントリストに逆行しません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top