How to set a border on a Vaadin component?

后端 未结 2 1806
失恋的感觉
失恋的感觉 2021-01-11 18:18

I would like to programmatically set a border around a Form component in Java. How can I do this without having to edit the css style sheet?

相关标签:
2条回答
  • 2021-01-11 18:31

    You could wrap the form with a Panel component, which has a border defined already. Otherwise, not much alternatives than just using CSS.

    One option, if you wish to stay inside the server environment, is to use the CSSInject add-on and add the border using that (you still need to write CSS, but you can do it on the server in a Java file and not inside a regular CSS file).

    0 讨论(0)
  • 2021-01-11 18:33

    Vaadin Flow — Style::set to specify CSS

    In Vaadin Flow (Vaadin versions 10 and later), you can conveniently set CSS for a widget or layout programmatically. No need to edit separate CSS files, even though styling with CSS files is the recommended way.

    1. On your widget/layout, call getStyle to retrieve the Style object.
    2. On that Style object, call set to pass the name and value of your CSS property.

    For example, I find setting a bright colored border on my nested layouts quite helpful for debugging.

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

    You can see this in action with this screenshot on my Answer to another Vaadin question here:

    screenshot of a layout with an obnoxious orange border added for debugging purposes
    0 讨论(0)
提交回复
热议问题