java - SWT表增量选择

标签 java swt

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

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

我点击第一个项目,监听器就工作了!

现在,按下按钮后,我想自动选择表格中的下一个项目。我尝试过:

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

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

选择发生变化(蓝色),但选择监听器没有反应?!

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

感谢您的帮助!

亲切的问候

enter image description here

最佳答案

这是设计使然(参见 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();

关于java - SWT表增量选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31246379/

相关文章:

java - 为什么我无法在 JDBC 中分析 SHOW TABLES 结果?

java - 修改 Action 监听器中的 boolean 值

java - 当尝试访问不存在的页面时,我可以重定向到有效的 Wicket 页面吗?

java - 二维数组的 OutOfBounds 异常

java - 减少 FillLayout 中复合 Material 之间的垂直间隙

SWT:单击后在工具栏按钮下方显示弹出菜单

java - 获取小部件的位置以允许从小部件 a 到 b 绘制一条线

java - OS X 上的 SWT : how to add badges to the dock icon

java - 获取浏览器滚动高度

java - Liskov 替换原则 VS 接口(interface)隔离原则