私が取り組んでいるプロジェクトに複数選択機能を追加する必要があります。 今までSelectionChangedlistener
が使用されていますが、複数選択のオプションはありません。Ctrlを押しながらTreeViewerを複数選択する方法
ここに追加できるCtrlキーを押しながら選択することをサポートするリスナータイプはありますか?
現在、私の最善の選択肢となります。
私が取り組んでいるプロジェクトに複数選択機能を追加する必要があります。 今までSelectionChangedlistener
が使用されていますが、複数選択のオプションはありません。Ctrlを押しながらTreeViewerを複数選択する方法
ここに追加できるCtrlキーを押しながら選択することをサポートするリスナータイプはありますか?
現在、私の最善の選択肢となります。
例えば、複数選択を可能にSWT.MULTI
スタイルフラグでツリービューアを作成し、
するには、次の
TreeViewer viewer = new TreeViewer(parent, SWT.MULTI);
ISelectionChangedListener
は単一選択だけでなく、マルチ選択に通知されます。選択された要素はSelectionChangedEvent::getSelection
に保持されます。
ISelectionChangedListener listener = new ISelectionChangedListener() {
@Override
public void selectionChanged(SelectionChangedEvent event) {
IStructuredSelection selection = (IStructuredSelection)event.getSelection();
List<?> selectedElements = selection.toList();
}
};
あなたはバージョン4.8のRCPのプラットフォームをターゲットにしている場合は、後にのみ、あなたもevent.getStructuredSelection()
を使用して、自分に余裕ができます。
選択されたすべての要素を抽出し、選択リスナーの例については、以下のコードを参照してください。キャスト。たとえば、次のように
ISelectionChangedListener listener = new ISelectionChangedListener() {
@Override
public void selectionChanged(SelectionChangedEvent event) {
IStructuredSelection selection = event.getStructuredSelection();
List<?> selectedElements = selection.toList();
}
};
はい、私は、この文脈での決定要因として、CTRLキーを設定するのですか? 選択が実際に起こるようにする –
@MadalinBranea SWT.MULTIが使用されるとCtrl + Clickが機能するはずです(Cmd +クリック時にmacOSを使用している場合を除く) –
はいああ、あなたに感謝 –