Выбор нескольких строк в CheckboxTreeViewer без использования кнопки ctrl - PullRequest
0 голосов
/ 29 октября 2018

Я создал checkboxtreeviewer , используя библиотеку JFace. Я создал дерево просмотра, как показано ниже

Tree tree = new Tree(parent,SWT.CHECK | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.MULTI);

CheckboxTreeViewer checkboxTreeViewer = new CheckboxTreeViewer(tree);

SWT.MULTI позволяет мне выбирать (выделять) несколько строк дерева, используя клавишу «CTRL».

Есть ли способ, которым мы можем выбрать несколько строк без использования клавиши ctrl. Один из известных мне способов заключается в использовании метода setSelection (), который нельзя использовать, поскольку он вызывает мерцание, когда пользователь переходит от одной строки к другой, Tree.java отменяет выбор всех существующих строк и затем выделяет строки, которые вызывается в методе setSelection.

Я чувствую, что код здесь вызывает отмену выбора всех строк, а затем выбор строки, выбранной пользователем.

1 Ответ

0 голосов
/ 30 октября 2018

Вы можете отключить перерисовку дерева, пока не закончите установку выделения, это должно уменьшить мерцание:

checkboxTreeViewer.getControl().setRedraw(false);

checkboxTreeViewer.setSelection(....);

checkboxTreeViewer.getControl().setRedraw(true);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...