ポップアップメニューをエディタに実装 まででとりあえず、TableViewer?に検索結果を表示できるようになりました。次はLabelProvider?を使って表示の制御を行います。 検索結果一覧を表示するビューの作成 でカラムの制御に IField というクラスを作成しました。ここでもこのクラスを使います。IFieldの実装クラスの getValue(Object obj) で、表示する内容を返すようにOverrideします。 ソースコードは以下のようになりました。 LabelProvider? の実装クラス class ViewLabelProvider extends LabelProvider implements ITableLabelProvider { private final IField[] fields; public ViewLabelProvider(IField[] fields) { this.fields = fields; } public String getColumnText(Object obj, int index) { if (obj instanceof ResultElement) { ResultElement element = (ResultElement) obj; return fields[index].getValue(element); } return ""; } public Image getColumnImage(Object element, int columnIndex) { return null; } } IField の実装クラス。下はTitleヘッダを制御するTitleField?クラス public class TitleField implements IField { -- 省略 -- public String getValue(Object obj) { ResultElement element = (ResultElement) obj; return element.getTitle(); } } スクリーンショット †これで各カラムに正しい文字列が表示されるようになりました。 次はダブルクリックやポップアップメニューから、ブラウザを開くようにします。 この記事は 現在のアクセス:8588 |