В настоящее время довольно сложно добавить пользовательский компонент для фильтрации в заголовок таблицы. Это потребовало бы от вас создания собственной версии Table с помощью наследования / копирования и вставки (не уверен, что этого достаточно), и это то, чего большинство людей не хотят избегать в настоящий момент, если это возможно. Текущая реализация компонента Table является одним из самых сложных компонентов Vaadin. Это выполнимо, если вы настаиваете на размещении компонентов в заголовке, но готовитесь к серьезным размышлениям, чтобы заставить вещи работать.
Я бы предложил сделать фильтрацию данных в контейнерах с компонентами, расположенными рядом с вашей таблицей. Скрытие заголовка таблицы иногда допустимо, если там не показана важная информация. Если вы хотите что-то точно в заголовке, это потребует некоторых пустых заголовков и CSS-компонентов позиционирования в правильном месте.
Вы всегда можете сгруппировать таблицу и другие компоненты фильтрации в один CustomComponent для упрощения абстракции.