<dependency>
<groupId>com.vaadin</groupId>
<artifactId>vaadin-text-field</artifactId>
<version>...</version>
</dependency>
<dependency>
<groupId>com.vaadin</groupId>
<artifactId>vaadin-grid</artifactId>
<version>...</version>
</dependency>
public class User {
private String username;
public User(String username) {
this.username = username;
}
public String getUsername() {
return username;
}
}
public class MainView extends VerticalLayout {
private TextField filterTextField;
private Grid<User> grid;
public MainView() {
filterTextField.addValueChangeListener(event -> {
String filterText = event.getValue();
filterUsers(filterText);
});
grid = new Grid<>();
add(filterTextField, grid);
setDefaultHorizontalComponentAlignment(Alignment.CENTER);
}
private void filterUsers(String filterText) {
grid.setItems(filteredUsers);
}
}
@Route("")
public class MyApplicationUI extends UI {
@Override
protected void init(VaadinRequest request) {
setContent(new MainView());
}
}