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 バグの 1 つです。バグレポートはこちら。Windows では、テーブルに最初の列にない画像が含まれている場合、最初の列にこの「ギャップ」が表示されます。

最初の列をスキップして (使用しないで)、その幅をゼロに設定することで、ダーティ フィックスを使用できます。

私の記憶が正しければ、これにより MacOS を使用する際にいくつかのマイナーな問題が発生します。


ここにも非常にハックな回避策があります。

于 2012-10-25T06:38:01.657 に答える