: O. Yuanying

ListViewerとモデルの内容を同期する

概要

JFace Data Bindingを使ってJFaceのListViewerの表示内容をListの内容が変わる度に変更する。

実装


org.eclipse.swt.widgets.List list = ...
// SWTのListウィジェットをJFaceのViewerでラップする。
ListViewer listViewer = new ListViewer(list);

// ObservableList用のコンテントプロバイダをセットする。
ObservableListContentProvider contentProvider = 
				new ObservableListContentProvider();
listViewer.setContentProvider(contentProvider);

// 表示するデータ。
ObservableList domain = new WritableList();

// 表示するデータをViewerにセットする。
listViewer.setInput(domain);

これでdomain.add()やdomain.remove()する度にlistViewerにdomainの変更が通知されて表示内容が更新される。