SWT table增量选择

SWT table increment selection

我正在使用 swt table 并实现了 selectionListener:

table.addSelectionListener(new SelectionAdapter() {
    @Override
    public void widgetSelected(SelectionEvent event) {
       //...
    }
});

我点击了第一项,监听器开始工作了!

现在,按下一个按钮后,我想 select 自动 table 中的下一个项目。我试过:

table.setFocus();
table.select(table.getSelectionIndex() + 1);

table.setFocus();
table.setSelection(table.getSelectionIndex() + 1);

selection 发生变化(蓝色),但 selectionListener 没有反应?!

也许你能帮我解决这个问题。

感谢您的帮助!

亲切的问候

这是设计使然(参见 this)。

您可以做的是:

table.setSelection(1);
table.notifyListeners(SWT.Selection, new Event());

甚至这样:

table.addSelectionListener(new SelectionAdapter() {
    @Override
    public void widgetSelected(SelectionEvent event) {
       methodCallHere();
    }
});

然后

table.setSelection(1);
methodCallHere();