Выбор флажка JFace tableViewer возвращает значение null в eclipse e4

Я использую tableviewer со стилем флажка следующим образом

tableViewer = new TableViewer(parent, SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER| SWT.CHECK);

Я использовал следующий код для прослушивания tableviewer. Я знаю, что это неправильно, потому что он прислушивается к выбору, а не к выбору флажка.

 tableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
           @Override
           public void selectionChanged(SelectionChangedEvent event) {
             IStructuredSelection selection = (IStructuredSelection)tableViewer.getSelection();
             Object firstElement = selection.getFirstElement();
             System.out.println("firstElement"+firstElement);
             // Do something with it
           }
         }); 

Мне нужно прослушать выбор флажка в JFace TableViewer.

заранее спасибо


person Acjb    schedule 13.02.2014    source источник


Ответы (1)


Прослушиватель выбора в таблице флажков по-прежнему реагирует на обычный выбор строки, он не реагирует на нажатие флажков.

Чтобы добавить прослушиватель изменений флажка, вам нужно использовать CheckboxTableViewer и использовать метод addCheckStateListener.

CheckboxTableViewer также имеет множество вспомогательных методов для управления состояниями флажков.

person greg-449    schedule 13.02.2014