Как установить границу на компоненте Vaadin?

Я хотел бы программно установить границу вокруг компонента Form в Java. Как я могу сделать это без необходимости редактировать таблицу стилей CSS?

Ответ 1

Вы можете обернуть форму с помощью компонента Panel, который уже имеет границу. В противном случае, не так много альтернатив, как просто использование CSS.

Один из вариантов, если вы хотите остаться внутри серверной среды, заключается в использовании надстройки CSSInject и добавлении границы с помощью этого (вам все равно нужно писать CSS, но вы можете сделать это на сервере в файле Java а не внутри обычного файла CSS).

Ответ 2

Vaadin Flow: Style::set для определения CSS

В Vaddin Flow (Vaadin версии 10 и более поздних) вы можете установить CSS для виджета или макета программно. Нет необходимости редактировать отдельные файлы CSS.

  1. В своем виджете/макете позвоните getStyle, чтобы получить объект Style.
  2. Для этого объекта Style вызовите set, чтобы передать имя и значение вашего свойства CSS.

Например, я считаю, что установка ярких цветных рамок на моих вложенных макетах весьма полезна для отладки.

myVerticalLayout.getStyle().set( "border" , "6px dotted DarkOrange" ) ; 

Вы можете увидеть это в действии со снимком экрана tis на моем ответе на другой вопрос Ваадина.

screenshot of a layout with an obnoxious orange border added for debugging purposes