Как динамически добавлять в таблицу колонки

Добрый день.
Подскажите, как динамически добавлять в таблицу колонки (из кода) с указанием таких параметров как caption , width, align… итд

Вместо того чтобы формировать набор колонок в Design Time
image

я хочу это делать в RunTime наподобе того как это происходит в примере:
грида с переменным набором колонок:
https://demo.jmix.ru/sampler/?roistat_visit=136176#main/0/sample?id=datagrid-var-columns

Там на вкладке контроллера (DataGridVariableColumnsSample.java)
Строка 57

 dataGrid.addColumn("prop" + col, container.getEntityMetaClass().getPropertyPath("prop" + col));

В моем случае в этом месте вместо dataGrid - Table.
В качестве контейнера данных, так же как и в примере KeyValueCollectionContainer

И я в этом месте хочу написать что то типа:

dataGrid.addColumn(/*  Column с наименованием "Дата" , шириной 200 Align=right     */);

Могу ли я это сделать и как ?

Добрый день!

Метод addColumn() возвращает объект созданной колонки, и его можно настраивать.
Например:

@Autowired
private UiComponents uiComponents;
@Autowired
private CollectionContainer<User> usersDc;

@Subscribe
public void onBeforeShow(BeforeShowEvent event) {
    Table table = uiComponents.create(Table.class);
    table.setWidth("600px");
    table.setHeight("200px");
    
    Table.Column<User> column = table.addColumn(usersDc.getEntityMetaClass().getPropertyPath("username"));
    column.setCaption("User Name !!!");
    column.setWidth(100);
    
    table.setItems(new ContainerTableItems<>(usersDc));
    getWindow().add(table);
}

:fire:

Спасибо за оперативный ответ!