You're viewing an older version of Vaadin JavaDoc. Please see version 24.7.0 for the latest.
com.vaadin.flow.component.formlayout.

Class FormLayout

  • All Implemented Interfaces:

    AttachNotifier, ClickNotifier<FormLayout>, DetachNotifier, HasComponents, HasElement, HasEnabled, HasSize, HasStyle, Serializable

    public class FormLayout
    extends GeneratedVaadinFormLayout<FormLayout>
    implements HasSize, HasComponents, ClickNotifier<FormLayout>

    Form Layout allows you to build responsive forms with multiple columns and to position input labels on top or to the side of the input. Form Layout has two columns by default meaning it displays two input fields per line. When the layout width is smaller it adjusts to a single column layout.

    You can define how many columns Form Layout should use based on the screen width. A single column layout is preferable to a multi column one. A multi column layout is more prone to cause confusion and to be misinterpreted by the user. However, closely related fields can be placed in line without issue. For example, first and last name, address fields such as postal code and city, as well as ranged input for dates, time, currency, etc.

    Best Practices:
    Longer forms should be split into smaller, more manageable and user-friendly sections using subheadings, Tabs, Details or separate views when possible. Each section should consist of related content and/or fields.

    Also, use the following guidelines for Button placement in forms:

    • Buttons should be placed below the form they?re associated with.
    • Buttons should be aligned left.
    • Primary action first, followed by other actions, in order of importance.

    Author:

    Vaadin Ltd

    See Also:

    Serialized Form

    • Method Detail

      • setColspan

        public void setColspan​(Component component,
                               int colspan)

        Sets the colspan of the given component's element. Will default to 1 if an integer lower than 1 is supplied. You can directly add components with the wanted colspan with add(Component, int).

        Parameters:

        component - the component to set the colspan for, not null

        colspan - the desired colspan for the component

      • add

        public void add​(Component component,
                        int colspan)

        Adds a component with the desired colspan. This method is a shorthand for calling #add(Component) and setColspan(Component, int)

        Parameters:

        component - the component to add

        colspan - the desired colspan for the component

      • getColspan

        public int getColspan​(Component component)

        Gets the colspan of the given component. If none is set, returns 1.

        Parameters:

        component - the component whose colspan is retrieved

      • addFormItem

        public FormLayout.FormItem addFormItem​(Component field,
                                               String label)

        Convenience method for creating and adding a new FormItem to this layout that wraps the given field with a label. Shorthand for addFormItem(field, new Label(label)).

        Parameters:

        field - the field component to wrap

        label - the label text to set

        Returns:

        the created form item

        See Also:

        addFormItem(Component, Component)

      • addFormItem

        public FormLayout.FormItem addFormItem​(Component field,
                                               Component label)

        Convenience method for creating and adding a new FormItem to this layout that wraps the given field with a component as its label.

        Parameters:

        field - the field component to wrap

        label - the label component to set

        Returns:

        the created form item