SWT JFace: Как заставить TableViewer всегда выбирать строку? - PullRequest
2 голосов
/ 03 ноября 2011

Я новая пчела в JFace.

Код размещения моей программы просмотра таблиц:

viewer = new TableViewer(parent, SWT.MULTI | SWT.H_SCROLL
| SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.BORDER);

И у меня есть TableCursor, созданный для выбора разных ячеек подряд.

Select a row in the table

Тогда я обнаружил, что довольно неудобно позволять пользователю "ничего не выбирать". : - (

Select nothing in the table, very ugly right?

Мне интересно, есть ли свойство SWT для установки или какие-то решения по кодированию, чтобы заставить пользователей всегда выбирать строку.

1 Ответ

3 голосов
/ 03 ноября 2011

Вы должны отменить выделение вручную, см. Следующий фрагмент:

viewer.addSelectionChangedListener(new ISelectionChangedListener() {

    private boolean update;

    private ISelection lastSelection;

    @Override
    public void selectionChanged(SelectionChangedEvent event) {
        if (event.getSelection().isEmpty() && !update) {
            update = true;
            v.setSelection(lastSelection);
            update = false;
        } else if (!event.getSelection().isEmpty()) {
            lastSelection = event.getSelection();
        }

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