SWT Table 只选择了第一列

SWT Table only first column selected

我目前有一个填充的 SWT table,具有以下样式:

    SWT.BORDER | SWT.FULL_SELECTION | SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL

使用 SWT.FULL_SELECTION 在单击时选中整行。 但仅使用 table.getSelection() returns 第一列。 我没有任何 table查看器或其他设置。

我哪里弄错了?

编辑: 示例:

if (table.getSelectionCount() > 0) {
  for (TableItem item : table.getSelection()) {
    System.out.println(item);
  }
}

这个returns只有第一列

由于您只调用 System.out.println() 总体上 TableItem,Java 将在内部使用 TableItem#toString() 将其转换为 String

然而,生成的字符串将不包含 TableItem.

的所有数据

相反,您需要使用 TableItem#getText(int column):

遍历列以获取数据
for(int i = 0; i < table.getColumnCount(); i++)
    System.out.println(item.getText(i));