Вы нашли ошибку в StyledCellLabelProvider
. Это не произойдет с любым другим CellLabelProvider
.
StyledCellLabelProvider
использует "рисование владельца" для рисования клеток Table
. Это означает, что содержимое ячейки не рисуется операционной системой. Он рисуется в событии SWT.PaintItem
Таблицей «Владелец».
StyledCellLabelProvider
не учитывает выравнивание TableColumn
. Вы можете увидеть источник здесь , метод getTextLayoutForInfo(.)
представляет интерес.
Обходным путем может быть копирование этого класса, исправление ошибки путем добавления
TableColumn col = ((Table)viewer.getControl()).getColumn(cell.getColumnIndex());
layout.setAlignment(col.getAlignment());
в методе getTextLayoutForInfo(.)
(я не тестировал это исправление, но если оно не работает, вы должны получить представление и быть в состоянии заставить его работать)
Вы также должны добавить отчет об ошибке: Eclipse Bugzilla