チェックボックス選択モデルを使用して行がクリックされたときにメソッドを呼び出すにはどうすればよいですか?
チェックボックス選択モデルを次のように設定しています。
table.setSelectionModel(selectionModel,
DefaultSelectionEventManager.<T> createCheckboxManager(0));
チェックボックス選択モデルを使用して行がクリックされたときにメソッドを呼び出すにはどうすればよいですか?
チェックボックス選択モデルを次のように設定しています。
table.setSelectionModel(selectionModel,
DefaultSelectionEventManager.<T> createCheckboxManager(0));
私は解決策を見つけました!createCheckboxManager()
を使用する代わりにcreateCustomManager()
、引数を渡して、EventTranslator
を拡張しCheckboxEventTranslator
、メソッドの委任を実行しtranslateSelectionEvent
て、super(CheckboxEventTranslator
)によって無視されたイベントのみをインターセプトします。
ソースコード:
table.setSelectionModel(selectionModel,
DefaultSelectionEventManager.createCustomManager(
new DefaultSelectionEventManager.CheckboxEventTranslator<T>() {
@Override
public SelectAction translateSelectionEvent(CellPreviewEvent<T> event) {
SelectAction action = super.translateSelectionEvent(event);
if (action.equals(SelectAction.IGNORE)) {
GWT.log("DO WHAT YOU WANT!!!");
return SelectAction.IGNORE;
}
return action;
}
}
)
);
呼び出す関数を作成し、
table.setSelectionModel(selectionModel, ClassName.myMethod(0));
static <T> DefaultSelectionEventManager<T> myMethod(int column) {
//call whatever functions you want
return DefaultSelectionEventManager.<T> createCheckboxManager(column);
}