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

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


person yazz.com    schedule 08.04.2011    source источник
comment
Аналогично: Границы макета Vaadin Grid   -  person Basil Bourque    schedule 02.08.2018


Ответы (2)


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

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

person Jouni    schedule 11.04.2011
comment
Одна проблема заключается в том, что каждый раз, когда я удаляю компонент, а затем добавляю компонент с помощью Internet Explorer 9, верхняя граница исчезает с панели... работает нормально в Firefox, поэтому я хотел программно добавить верхнюю границу - person yazz.com; 11.04.2011
comment
Звучит странно, граница не должна исчезнуть. Можете ли вы опубликовать пример кода? - person Jouni; 15.04.2011

Vaadin Flow — Style::set для указания CSS

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

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

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

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

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

screenshot of a layout with an obnoxious orange border added for debugging purposes
person Basil Bourque    schedule 26.09.2019