3.5.2.4.1. UiComponents
UiComponents
is a factory which allows you to create UI components by name, class or type token.
If you create a component working with data, use a type token to get the component parameterized by the specific value type. For Label
, TextField
or DateField
component, use type token constants like TextField.TYPE_INTEGER
. When creating a component working with entities, like PickerField
, LookupField
or Table
, use the static of()
method to get the appropriate type token. For other components and containers, use the component class as the argument.
For example:
@Inject
private UiComponents uiComponents;
@Subscribe
protected void onInit(InitEvent event) {
// components working with simple data types
Label<String> label = uiComponents.create(Label.TYPE_STRING);
TextField<Integer> amountField = uiComponents.create(TextField.TYPE_INTEGER);
LookupField<String> stringLookupField = uiComponents.create(LookupField.TYPE_STRING);
// components working with entities
LookupField<Customer> customerLookupField = uiComponents.create(LookupField.of(Customer.class));
PickerField<Customer> pickerField = uiComponents.create(PickerField.of(Customer.class));
Table<OrderLine> table = uiComponents.create(Table.of(OrderLine.class));
// other components and containers
Button okButton = uiComponents.create(Button.class);
VBoxLayout vBox = uiComponents.create(VBoxLayout.class);
// ...
}