CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/maven-com-vaadin--vaadin

Comprehensive Java web application development framework that enables server-side Java development with modern web UI components and automatic client-server communication.

Overview
Eval results
Files

components.mddocs/

UI Components

Vaadin provides a comprehensive set of UI components for building modern web applications. All components are server-side Java objects that automatically synchronize with the client-side browser representation.

Core Imports

// Basic UI components
import com.vaadin.flow.component.button.Button;
import com.vaadin.flow.component.textfield.TextField;
import com.vaadin.flow.component.textfield.TextArea;
import com.vaadin.flow.component.textfield.PasswordField;
import com.vaadin.flow.component.textfield.NumberField;
import com.vaadin.flow.component.textfield.IntegerField;
import com.vaadin.flow.component.textfield.EmailField;

// Selection components
import com.vaadin.flow.component.checkbox.Checkbox;
import com.vaadin.flow.component.checkbox.CheckboxGroup;
import com.vaadin.flow.component.radiobutton.RadioButtonGroup;
import com.vaadin.flow.component.combobox.ComboBox;
import com.vaadin.flow.component.combobox.MultiSelectComboBox;
import com.vaadin.flow.component.select.Select;
import com.vaadin.flow.component.listbox.ListBox;
import com.vaadin.flow.component.listbox.MultiSelectListBox;

// Date and time components
import com.vaadin.flow.component.datepicker.DatePicker;
import com.vaadin.flow.component.timepicker.TimePicker;
import com.vaadin.flow.component.datetimepicker.DateTimePicker;

// File upload and visual feedback
import com.vaadin.flow.component.upload.Upload;
import com.vaadin.flow.component.progressbar.ProgressBar;

// Visual components
import com.vaadin.flow.component.avatar.Avatar;
import com.vaadin.flow.component.avatar.AvatarGroup;
import com.vaadin.flow.component.icon.Icon;
import com.vaadin.flow.component.icon.VaadinIcon;

// Core interfaces and types
import com.vaadin.flow.component.Component;
import com.vaadin.flow.component.HasValue;
import com.vaadin.flow.component.AbstractField;
import com.vaadin.flow.data.provider.HasDataProvider;
import com.vaadin.flow.shared.Registration;

// Event handling
import com.vaadin.flow.component.ComponentEventListener;
import com.vaadin.flow.component.ClickEvent;
import com.vaadin.flow.component.ValueChangeEvent;

// Theme variants
import com.vaadin.flow.component.button.ButtonVariant;
import com.vaadin.flow.component.avatar.AvatarVariant;

Form Input Components

Button

Clickable button component with various styles and event handling.

public class Button extends Component implements ClickNotifier<Button>, HasText, HasTheme {
    public Button();
    public Button(String text);
    public Button(String text, ComponentEventListener<ClickEvent<Button>> clickListener);
    public Button(Icon icon);
    public Button(Icon icon, ComponentEventListener<ClickEvent<Button>> clickListener);

    public void setText(String text);
    public String getText();
    public void setIcon(Component icon);
    public Component getIcon();
    public Registration addClickListener(ComponentEventListener<ClickEvent<Button>> listener);
    public void click();
    public void setDisableOnClick(boolean disableOnClick);
    public void addThemeVariants(ButtonVariant... variants);
}

TextField

Single-line text input field with validation and formatting options.

public class TextField extends AbstractField<TextField, String> implements HasAutocomplete, HasPrefixAndSuffix {
    public TextField();
    public TextField(String label);
    public TextField(String label, String placeholder);
    public TextField(String label, String initialValue, String placeholder);
    public TextField(ValueChangeListener<ComponentValueChangeEvent<TextField, String>> listener);

    public void setPlaceholder(String placeholder);
    public String getPlaceholder();
    public void setPattern(String pattern);
    public String getPattern();
    public void setMinLength(int minLength);
    public int getMinLength();
    public void setMaxLength(int maxLength);
    public int getMaxLength();
    public void setAutoselect(boolean autoselect);
    public boolean isAutoselect();
    public void setClearButtonVisible(boolean clearButtonVisible);
    public void setValueChangeMode(ValueChangeMode valueChangeMode);
}

TextArea

Multi-line text input area with resizing and character counting.

public class TextArea extends AbstractField<TextArea, String> implements HasAutocomplete {
    public TextArea();
    public TextArea(String label);
    public TextArea(String label, String placeholder);
    public TextArea(ValueChangeListener<ComponentValueChangeEvent<TextArea, String>> listener);

    public void setMinHeight(String minHeight);
    public void setMaxHeight(String maxHeight);
    public void setMinLength(int minLength);
    public void setMaxLength(int maxLength);
    public void setClearButtonVisible(boolean clearButtonVisible);
    public void setResizable(boolean resizable);
}

PasswordField

Password input field with visibility toggle and strength validation.

public class PasswordField extends TextField {
    public PasswordField();
    public PasswordField(String label);
    public PasswordField(String label, String placeholder);
    public PasswordField(ValueChangeListener<ComponentValueChangeEvent<PasswordField, String>> listener);

    public void setRevealButtonVisible(boolean revealButtonVisible);
    public boolean isRevealButtonVisible();
}

NumberField

Numeric input field with step controls and validation.

public class NumberField extends AbstractField<NumberField, Double> {
    public NumberField();
    public NumberField(String label);
    public NumberField(ValueChangeListener<ComponentValueChangeEvent<NumberField, Double>> listener);

    public void setMin(double min);
    public double getMin();
    public void setMax(double max);
    public double getMax();
    public void setStep(double step);
    public double getStep();
    public void setHasControls(boolean hasControls);
    public boolean isHasControls();
}

IntegerField

Integer-specific numeric input with validation.

public class IntegerField extends AbstractField<IntegerField, Integer> {
    public IntegerField();
    public IntegerField(String label);
    public IntegerField(ValueChangeListener<ComponentValueChangeEvent<IntegerField, Integer>> listener);

    public void setMin(int min);
    public int getMin();
    public void setMax(int max);
    public int getMax();
    public void setStep(int step);
    public int getStep();
    public void setHasControls(boolean hasControls);
}

EmailField

Email input field with built-in validation and formatting.

public class EmailField extends TextField {
    public EmailField();
    public EmailField(String label);
    public EmailField(String label, String placeholder);
    public EmailField(ValueChangeListener<ComponentValueChangeEvent<EmailField, String>> listener);
}

Checkbox

Boolean checkbox input with indeterminate state support.

public class Checkbox extends AbstractSinglePropertyField<Checkbox, Boolean> implements ClickNotifier<Checkbox> {
    public Checkbox();
    public Checkbox(String labelText);
    public Checkbox(boolean initialValue);
    public Checkbox(String labelText, boolean initialValue);

    public void setLabel(String label);
    public String getLabel();
    public void setIndeterminate(boolean indeterminate);
    public boolean isIndeterminate();
    public void setAriaLabel(String ariaLabel);
    public Registration addClickListener(ComponentEventListener<ClickEvent<Checkbox>> listener);
}

CheckboxGroup

Multi-select checkbox group for choosing multiple options.

public class CheckboxGroup<T> extends AbstractField<CheckboxGroup<T>, Set<T>> implements HasDataProvider<T>, HasItemComponents<T> {
    public CheckboxGroup();
    public CheckboxGroup(String label);
    public CheckboxGroup(String label, Collection<T> items);

    public void setItems(Collection<T> items);
    public void setItems(T... items);
    public void setItemLabelGenerator(ItemLabelGenerator<T> itemLabelGenerator);
    public void setDataProvider(DataProvider<T, ?> dataProvider);
    public DataProvider<T, ?> getDataProvider();
    public void setReadOnly(boolean readOnly);
    public void select(T... items);
    public void deselect(T... items);
}

RadioButtonGroup

Single-select radio button group for choosing one option from multiple.

public class RadioButtonGroup<T> extends AbstractField<RadioButtonGroup<T>, T> implements HasDataProvider<T> {
    public RadioButtonGroup();
    public RadioButtonGroup(String label);
    public RadioButtonGroup(String label, Collection<T> items);

    public void setItems(Collection<T> items);
    public void setItems(T... items);
    public void setItemLabelGenerator(ItemLabelGenerator<T> itemLabelGenerator);
    public void setDataProvider(DataProvider<T, ?> dataProvider);
    public DataProvider<T, ?> getDataProvider();
    public void setReadOnly(boolean readOnly);
}

Selection Components

ComboBox

Dropdown selection with filtering and custom item rendering.

public class ComboBox<T> extends AbstractField<ComboBox<T>, T> implements HasDataProvider<T>, HasFilterableDataProvider<T, String> {
    public ComboBox();
    public ComboBox(String label);
    public ComboBox(String label, Collection<T> items);

    public void setItems(Collection<T> items);
    public void setItems(T... items);
    public void setItemLabelGenerator(ItemLabelGenerator<T> itemLabelGenerator);
    public void setDataProvider(DataProvider<T, ?> dataProvider);
    public void setPageSize(int pageSize);
    public int getPageSize();
    public void setAllowCustomValue(boolean allowCustomValue);
    public boolean isAllowCustomValue();
    public void setAutoOpen(boolean autoOpen);
    public void setClearButtonVisible(boolean clearButtonVisible);
    public void setPlaceholder(String placeholder);
    public void open();
    public void close();
}

MultiSelectComboBox

Multi-select dropdown with filtering and tag display.

public class MultiSelectComboBox<T> extends AbstractField<MultiSelectComboBox<T>, Set<T>> implements HasDataProvider<T> {
    public MultiSelectComboBox();
    public MultiSelectComboBox(String label);
    public MultiSelectComboBox(String label, Collection<T> items);

    public void setItems(Collection<T> items);
    public void setItems(T... items);
    public void setItemLabelGenerator(ItemLabelGenerator<T> itemLabelGenerator);
    public void setDataProvider(DataProvider<T, ?> dataProvider);
    public void setPageSize(int pageSize);
    public void setAutoOpen(boolean autoOpen);
    public void setClearButtonVisible(boolean clearButtonVisible);
    public void select(T... items);
    public void deselect(T... items);
    public void deselectAll();
}

Select

Simple dropdown selection without filtering.

public class Select<T> extends AbstractField<Select<T>, T> implements HasDataProvider<T> {
    public Select();
    public Select(T... items);
    public Select(String label, T... items);

    public void setItems(Collection<T> items);
    public void setItems(T... items);
    public void setItemLabelGenerator(ItemLabelGenerator<T> itemLabelGenerator);
    public void setTextRenderer(Renderer<T> renderer);
    public void setEmptySelectionAllowed(boolean emptySelectionAllowed);
    public void setEmptySelectionCaption(String caption);
    public void setPlaceholder(String placeholder);
}

ListBox

Scrollable list selection component.

public class ListBox<T> extends AbstractField<ListBox<T>, T> implements HasDataProvider<T> {
    public ListBox();
    public ListBox(T... items);

    public void setItems(Collection<T> items);
    public void setItems(T... items);
    public void setItemLabelGenerator(ItemLabelGenerator<T> itemLabelGenerator);
    public void setRenderer(ComponentRenderer<? extends Component, T> renderer);
    public void setDataProvider(DataProvider<T, ?> dataProvider);
}

MultiSelectListBox

Multi-select scrollable list component.

public class MultiSelectListBox<T> extends AbstractField<MultiSelectListBox<T>, Set<T>> implements HasDataProvider<T> {
    public MultiSelectListBox();
    public MultiSelectListBox(T... items);

    public void setItems(Collection<T> items);
    public void setItems(T... items);
    public void setItemLabelGenerator(ItemLabelGenerator<T> itemLabelGenerator);
    public void setRenderer(ComponentRenderer<? extends Component, T> renderer);
    public void select(T... items);
    public void deselect(T... items);
    public void deselectAll();
}

Date and Time Components

DatePicker

Date selection component with calendar popup and internationalization.

public class DatePicker extends AbstractField<DatePicker, LocalDate> {
    public DatePicker();
    public DatePicker(String label);
    public DatePicker(LocalDate initialDate);
    public DatePicker(String label, LocalDate initialDate);

    public void setMin(LocalDate min);
    public LocalDate getMin();
    public void setMax(LocalDate max);
    public LocalDate getMax();
    public void setLocale(Locale locale);
    public Locale getLocale();
    public void setPlaceholder(String placeholder);
    public void setClearButtonVisible(boolean clearButtonVisible);
    public void setAutoOpen(boolean autoOpen);
    public void setWeekNumbersVisible(boolean weekNumbersVisible);
    public void open();
    public void close();
}

TimePicker

Time selection component with step configuration.

public class TimePicker extends AbstractField<TimePicker, LocalTime> {
    public TimePicker();
    public TimePicker(String label);
    public TimePicker(LocalTime initialTime);
    public TimePicker(String label, LocalTime initialTime);

    public void setMin(LocalTime min);
    public LocalTime getMin();
    public void setMax(LocalTime max);
    public LocalTime getMax();
    public void setStep(Duration step);
    public Duration getStep();
    public void setLocale(Locale locale);
    public void setAutoOpen(boolean autoOpen);
    public void setClearButtonVisible(boolean clearButtonVisible);
}

DateTimePicker

Combined date and time selection component.

public class DateTimePicker extends AbstractField<DateTimePicker, LocalDateTime> {
    public DateTimePicker();
    public DateTimePicker(String label);
    public DateTimePicker(LocalDateTime initialDateTime);
    public DateTimePicker(String label, LocalDateTime initialDateTime);

    public void setMin(LocalDateTime min);
    public LocalDateTime getMin();
    public void setMax(LocalDateTime max);
    public LocalDateTime getMax();
    public void setDatePlaceholder(String placeholder);
    public void setTimePlaceholder(String placeholder);
    public void setStep(Duration step);
    public void setAutoOpen(boolean autoOpen);
    public DatePicker getDatePicker();
    public TimePicker getTimePicker();
}

File Upload

Upload

File upload component with drag-and-drop support and progress indication.

public class Upload extends Component implements HasSize {
    public Upload();
    public Upload(Receiver receiver);

    public void setReceiver(Receiver receiver);
    public Receiver getReceiver();
    public void setMaxFiles(int maxFiles);
    public int getMaxFiles();
    public void setMaxFileSize(int maxFileSize);
    public int getMaxFileSize();
    public void setAcceptedFileTypes(String... acceptedFileTypes);
    public String[] getAcceptedFileTypes();
    public void setDropLabel(Component dropLabel);
    public void setUploadButton(Component uploadButton);
    public void setAutoUpload(boolean autoUpload);
    public boolean isAutoUpload();
    public Registration addStartedListener(ComponentEventListener<StartedEvent> listener);
    public Registration addSucceededListener(ComponentEventListener<SucceededEvent> listener);
    public Registration addFailedListener(ComponentEventListener<FailedEvent> listener);
    public Registration addProgressListener(ComponentEventListener<ProgressEvent> listener);
    public void interruptUpload();
}

Visual Feedback Components

ProgressBar

Progress indication component with determinate and indeterminate modes.

public class ProgressBar extends Component implements HasSize {
    public ProgressBar();
    public ProgressBar(double min, double max);
    public ProgressBar(double min, double max, double value);

    public void setValue(double value);
    public double getValue();
    public void setMin(double min);
    public double getMin();
    public void setMax(double max);
    public double getMax();
    public void setIndeterminate(boolean indeterminate);
    public boolean isIndeterminate();
}

Avatar

User avatar display component with fallback initials.

public class Avatar extends Component implements HasSize, HasTheme {
    public Avatar();
    public Avatar(String name);
    public Avatar(String name, String url);

    public void setName(String name);
    public String getName();
    public void setImage(String url);
    public String getImage();
    public void setAbbreviation(String abbreviation);
    public String getAbbreviation();
    public void setColorIndex(Integer colorIndex);
    public Integer getColorIndex();
    public void addThemeVariants(AvatarVariant... variants);
}

AvatarGroup

Group display of multiple avatars with overflow handling.

public class AvatarGroup extends Component implements HasSize {
    public AvatarGroup();
    public AvatarGroup(Avatar... avatars);

    public void add(Avatar... avatars);
    public void remove(Avatar... avatars);
    public void setMaxItemsVisible(Integer maxItemsVisible);
    public Integer getMaxItemsVisible();
    public List<Avatar> getChildren();
}

Icon

Icon display component with support for Vaadin Icons and custom SVG.

public class Icon extends Component implements HasSize, HasStyle {
    public Icon();
    public Icon(VaadinIcon icon);
    public Icon(String collection, String icon);

    public void setIcon(VaadinIcon icon);
    public void setIcon(String collection, String icon);
    public String getIcon();
    public void setSize(String size);
    public void setColor(String color);
}

Common Interfaces and Types

// Value change handling
public interface ValueChangeListener<E extends ValueChangeEvent<?>> {
    void valueChanged(E event);
}

public interface HasValue<E extends HasValue.ValueChangeEvent<V>, V> {
    V getValue();
    void setValue(V value);
    Registration addValueChangeListener(HasValue.ValueChangeListener<? super E> listener);
    void setReadOnly(boolean readOnly);
    boolean isReadOnly();
    void setRequiredIndicatorVisible(boolean requiredIndicatorVisible);
}

// Item label generation
public interface ItemLabelGenerator<T> {
    String apply(T item);
}

// File upload interfaces
public interface Receiver {
    OutputStream receiveUpload(String filename, String mimeType);
}

// Theme variants
public enum ButtonVariant implements ThemeVariant {
    LUMO_PRIMARY, LUMO_SUCCESS, LUMO_ERROR, LUMO_CONTRAST,
    LUMO_TERTIARY, LUMO_TERTIARY_INLINE, LUMO_ICON,
    LUMO_SMALL, LUMO_LARGE
}

public enum AvatarVariant implements ThemeVariant {
    LUMO_XSMALL, LUMO_SMALL, LUMO_LARGE, LUMO_XLARGE
}

// Vaadin Icons
public enum VaadinIcon {
    ABACUS, ABSOLUTE_POSITION, ACADEMY_CAP, ACCESSIBILITY,
    ACCORDION_MENU, ADD_DOCK, ADJUST, ADOBE_FLASH,
    AIRPLANE, ALARM, ALIGN_CENTER, ALIGN_JUSTIFY,
    // ... (300+ icons available)
}

Usage examples show how to create forms, handle events, and configure components for common web application scenarios.

Install with Tessl CLI

npx tessl i tessl/maven-com-vaadin--vaadin

docs

components.md

data-binding.md

data-components.md

index.md

layouts.md

routing.md

security.md

server-communication.md

theming.md

tile.json