0

在我表的第一列中,显示的值从左边缘偏移。

例子

在此处输入图像描述

注意日期值与 ItemId 值相比的偏移量

TableViewerColumn col = new TableViewerColumn(this , SWT.NONE);
  col.getColumn().setWidth(125);
  col.getColumn().setText("Date Created");
  col.setLabelProvider(new ColumnLabelProvider() {
    @Override
    public String getText(Object element) {
       AplotSaveDataModel.SaveData p = (AplotSaveDataModel.SaveData) element;
      return p.getDateTime();
    }
  });

  col = new TableViewerColumn(this , SWT.NONE);
  col.getColumn().setWidth(100);
  col.getColumn().setText("ItemId");
  col.setLabelProvider(new ColumnLabelProvider() {
    @Override
    public String getText(Object element) {
       AplotSaveDataModel.SaveData p = (AplotSaveDataModel.SaveData) element;
      return p.getItemId();
    }
  });

查看上面的代码,我不明白为什么它们会有所不同?

4

1 回答 1

1

这是使用 Windows 时非常烦人的 SWT 错误之一。是错误报告。在 Windows 中,如果表格包含不在第一列中的图像,则第一列将显示此“间隙”。

您可以通过跳过第一列(不使用它)并将其宽度设置为零来使用脏修复。

据我没记错,这会在使用 MacOS 时引入一些小故障。


这里也有一个非常hacky的解决方法。

于 2012-10-25T06:38:01.657 回答