SWT表仅选择第一列

时间:2015-02-16 09:01:28

标签: java swt

我目前有一个填充的SWT表,其中包含以下样式:

    SWT.BORDER | SWT.FULL_SELECTION | SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL
如果点击,

使用SWT.FULL_SELECTION来选择整行。 但使用table.getSelection()仅返回第一列。 我没有任何tableviewer或其他设置。

我在哪里弄错了?

编辑: 例如:

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

这只返回第一列

1 个答案:

答案 0 :(得分:1)

由于您只是在整个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));