リスナークラスを作成しカラムに追加
リスナークラスを作成しカラムに追加
次にカラムヘッダを選択した場合に、ソート列の切り替えを行うリスナークラスを作成します。
⁄**
* カラムヘッダ選択時にソートクラスの更新処理を行うクラス
*⁄
class ColumnSelectionAdapter extends SelectionAdapter {
TableViewer viewer_;
public ColumnSelectionAdapter(TableViewer viewer){
viewer_ = viewer;
}
⁄**
* カラム選択時に新規のソートクラスを生成する
*⁄
public void widgetSelected(SelectionEvent e) {
TableColumn column = (TableColumn)e.getSource();
int columnIndex = viewer_.getTable().indexOf(column);
TestResultSorter testResultSorter = new TestResultSorter();
⁄⁄ 現在のソータを取得
TestResultSorter nowSorter = (TestResultSorter)viewer_.getSorter();
if (nowSorter.getSortType() == TestResultSorter.SORT_TYPE_DOWN) {
testResultSorter.setSortType(TestResultSorter.SORT_TYPE_UP);
} else {
testResultSorter.setSortType(TestResultSorter.SORT_TYPE_DOWN);
}
testResultSorter.setColumnIndex(columnIndex);
viewer_.setSorter(testResultSorter);
}
} 作成したリスナーをカラムに追加します。
col.addSelectionListener(new ColumnSelectionAdapter(testResultViewer)); 以上でカラムヘッダの選択時に昇順、降順でソートできるようになります。
長くなりましたが、以上でテーブルビューアに関する説明は終了です。今回は、ツリービューアやリストビューアについては説明しませんが、基本的な考え方はここで説明したテーブルビューアと同じですので、こちらを参考に取り組んでみてください。
まとめ
2回にわたってSWT/JFaceの主要なGUIコンポーネントについてみてきました。これらのGUIコンポーネントの利用方法を押さえておけば、グラフィカルなプラグインを自在に作成できます。
次回からは、Eclipseの機能を拡張する方法について説明していきます。まずはメニューとポップアップメニューの拡張です。