Чтобы центрировать содержимое столбца, необходимо указать бит стиля SWT.CENTER
для TableItem
.
Например:
final Table table = new Table(shell, SWT.BORDER | SWT.V_SCROLL | SWT.FULL_SELECTION);
table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
table.setHeaderVisible(true);
table.setLinesVisible(true);
final TableColumn column1 = new TableColumn(table, SWT.NONE);
column1.setText("Column 1");
column1.setWidth(75);
final TableColumn column2 = new TableColumn(table, SWT.NONE);
column2.setText("Column 2");
column2.setWidth(75);
final TableColumn column3 = new TableColumn(table, SWT.CENTER);
column3.setText("Column 3");
column3.setWidth(75);
for (int i = 0; i < 5; i++) {
new TableItem(table, SWT.CENTER).setText(new String[] { "a", "b", "c" });
}
Примечаниечто это повлияет только на содержимое столбца, который также указывает SWT.CENTER
, но не на содержимое других столбцов.
Правка в отношении центрирования изображения:
Я не верю, что возможно центрировать изображение в строке таблицы с помощью битов стиля, так как они, кажется, игнорируются.
Одной из альтернатив будет использование слушателя рисования для рисования изображения с правильными отступами для центрирования изображения в столбце (см .: Как выровнять изображение по центру ячейки таблицы (таблица SWT) ).Обратите внимание, что при использовании этого метода размер строки не изменяется в зависимости от размера изображения, поэтому, если ваше изображение не имеет крошечного размера и не совпадает с высотой строки, вам придется проделать дополнительную работу, чтобы сохранить форму изображения обрезанной.