Короче говоря, нет ничего препятствующего продлению CellTable. Он может быть расширен так же, как и любой другой класс java.
Например, давайте использовать CellTable из таких:
CellTable<Contact> table = new CellTable<Contact>();
TextColumn<Contact> nameColumn = new TextColumn<Contact>() { /* ... */ };
table.addColumn(nameColumn, "Name");
TextColumn<Contact> addressColumn = new TextColumn<Contact>() { /* ... */ };
table.addColumn(addressColumn, "Address");
table.setRowData(/* ... */);
Вы можете извлечь его в свой собственный класс, как так:
public class MyCellTable extends CellTable<Contact>{
public MyCellTable(String col1, String col2){
TextColumn<Contact> nameColumn = new TextColumn<Contact>() { /* ... */ };
table.addColumn(nameColumn, col1);
TextColumn<Contact> addressColumn = new TextColumn<Contact>() { /* ... */ };
table.addColumn(addressColumn, col2);
}
}
Расширяя CellTable, вы можете использовать ячейку как любой другой.
MyCellTable table = new MyCellTable("Name", "Address");
table.setRowData(/* ... */);