Class Button

  • All Implemented Interfaces:
    com.vaadin.flow.component.AttachNotifier, com.vaadin.flow.component.BlurNotifier<Button>, com.vaadin.flow.component.ClickNotifier<Button>, com.vaadin.flow.component.DetachNotifier, com.vaadin.flow.component.Focusable<Button>, com.vaadin.flow.component.FocusNotifier<Button>, com.vaadin.flow.component.HasElement, com.vaadin.flow.component.HasEnabled, com.vaadin.flow.component.HasSize, com.vaadin.flow.component.HasStyle, com.vaadin.flow.component.HasText, com.vaadin.flow.component.HasTheme, HasThemeVariant<ButtonVariant>, HasTooltip, Serializable

    public class Button
    extends GeneratedVaadinButton<Button>
    implements com.vaadin.flow.component.HasSize, com.vaadin.flow.component.HasEnabled, HasTooltip
    The Button component allows users to perform actions. It comes in several different style variants, and supports icons in addition to text labels.
    Author:
    Vaadin Ltd
    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from interface com.vaadin.flow.component.BlurNotifier

        com.vaadin.flow.component.BlurNotifier.BlurEvent<C extends com.vaadin.flow.component.Component>
      • Nested classes/interfaces inherited from interface com.vaadin.flow.component.FocusNotifier

        com.vaadin.flow.component.FocusNotifier.FocusEvent<C extends com.vaadin.flow.component.Component>
      • Nested classes/interfaces inherited from interface com.vaadin.flow.component.HasText

        com.vaadin.flow.component.HasText.WhiteSpace
    • Constructor Summary

      Constructors 
      Constructor Description
      Button()
      Default constructor.
      Button​(com.vaadin.flow.component.Component icon)
      Creates a button with an icon inside.
      Button​(com.vaadin.flow.component.Component icon, com.vaadin.flow.component.ComponentEventListener<com.vaadin.flow.component.ClickEvent<Button>> clickListener)
      Creates a button with an icon and a listener for click events.
      Button​(String text)
      Creates a button with a text inside.
      Button​(String text, com.vaadin.flow.component.Component icon)
      Creates a button with a text and an icon inside.
      Button​(String text, com.vaadin.flow.component.ComponentEventListener<com.vaadin.flow.component.ClickEvent<Button>> clickListener)
      Creates a button with a text and a listener for click events.
      Button​(String text, com.vaadin.flow.component.Component icon, com.vaadin.flow.component.ComponentEventListener<com.vaadin.flow.component.ClickEvent<Button>> clickListener)
      Create a button with a text, an icon and a listener for click events.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addThemeVariants​(ButtonVariant... variants)  
      void click()
      Simulates a click on this button on the server side.
      void clickInClient()
      Executes a click on this button at the client-side.
      com.vaadin.flow.component.Component getIcon()
      Gets the component that is defined as the icon of this button.
      boolean isAutofocus()
      Get the state for the auto-focus property of the button.
      boolean isDisableOnClick()
      Get if button is set to be disabled on click.
      boolean isIconAfterText()
      Gets whether this button's icon is positioned after it's text content or the other way around.
      protected void onAttach​(com.vaadin.flow.component.AttachEvent attachEvent)  
      void removeThemeVariants​(ButtonVariant... variants)  
      void setAutofocus​(boolean autofocus)
      Set the button to be input focused when the page loads.
      void setDisableOnClick​(boolean disableOnClick)
      Set the button so that it is disabled on click.
      void setIcon​(com.vaadin.flow.component.Component icon)
      Sets the given component as the icon of this button.
      void setIconAfterText​(boolean iconAfterText)
      Sets whether this button's icon should be positioned after it's text content or the other way around.
      void setText​(String text)
      Sets the given string as the text content of this component.
      • Methods inherited from class com.vaadin.flow.component.Component

        addListener, findAncestor, fireEvent, from, get, getChildren, getElement, getEventBus, getId, getListeners, getLocale, getParent, getTranslation, getTranslation, getTranslation, getTranslation, getTranslation, getTranslation, getUI, hasListener, isAttached, isTemplateMapped, isVisible, onDetach, onEnabledStateChanged, scrollIntoView, set, setElement, setId, setVisible
      • Methods inherited from interface com.vaadin.flow.component.AttachNotifier

        addAttachListener
      • Methods inherited from interface com.vaadin.flow.component.BlurNotifier

        addBlurListener
      • Methods inherited from interface com.vaadin.flow.component.ClickNotifier

        addClickListener, addClickShortcut, addDoubleClickListener, addSingleClickListener
      • Methods inherited from interface com.vaadin.flow.component.DetachNotifier

        addDetachListener
      • Methods inherited from interface com.vaadin.flow.component.Focusable

        addFocusShortcut, blur, focus, getTabIndex, setTabIndex
      • Methods inherited from interface com.vaadin.flow.component.FocusNotifier

        addFocusListener
      • Methods inherited from interface com.vaadin.flow.component.HasElement

        getElement
      • Methods inherited from interface com.vaadin.flow.component.HasEnabled

        isEnabled, setEnabled
      • Methods inherited from interface com.vaadin.flow.component.HasSize

        getHeight, getHeightUnit, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getWidth, getWidthUnit, setHeight, setHeight, setHeightFull, setMaxHeight, setMaxHeight, setMaxWidth, setMaxWidth, setMinHeight, setMinHeight, setMinWidth, setMinWidth, setSizeFull, setSizeUndefined, setWidth, setWidth, setWidthFull
      • Methods inherited from interface com.vaadin.flow.component.HasStyle

        addClassName, addClassNames, getClassName, getClassNames, getStyle, hasClassName, removeClassName, removeClassNames, setClassName, setClassName
      • Methods inherited from interface com.vaadin.flow.component.HasText

        getText, getWhiteSpace, setWhiteSpace
      • Methods inherited from interface com.vaadin.flow.component.HasTheme

        addThemeName, addThemeNames, getThemeName, getThemeNames, hasThemeName, removeThemeName, removeThemeNames, setThemeName, setThemeName
    • Constructor Detail

      • Button

        public Button()
        Default constructor. Creates an empty button.
      • Button

        public Button​(String text)
        Creates a button with a text inside.
        Parameters:
        text - the text inside the button
        See Also:
        setText(String)
      • Button

        public Button​(com.vaadin.flow.component.Component icon)
        Creates a button with an icon inside.
        Parameters:
        icon - the icon inside the button
        See Also:
        setIcon(Component)
      • Button

        public Button​(String text,
                      com.vaadin.flow.component.Component icon)
        Creates a button with a text and an icon inside.

        Use setIconAfterText(boolean) to change the order of the text and the icon.

        Parameters:
        text - the text inside the button
        icon - the icon inside the button
        See Also:
        setText(String), setIcon(Component)
      • Button

        public Button​(String text,
                      com.vaadin.flow.component.ComponentEventListener<com.vaadin.flow.component.ClickEvent<Button>> clickListener)
        Creates a button with a text and a listener for click events.
        Parameters:
        text - the text inside the button
        clickListener - the event listener for click events
        See Also:
        setText(String), ClickNotifier.addClickListener(ComponentEventListener)
      • Button

        public Button​(com.vaadin.flow.component.Component icon,
                      com.vaadin.flow.component.ComponentEventListener<com.vaadin.flow.component.ClickEvent<Button>> clickListener)
        Creates a button with an icon and a listener for click events.
        Parameters:
        icon - the icon inside the button
        clickListener - the event listener for click events
        See Also:
        setIcon(Component), ClickNotifier.addClickListener(ComponentEventListener)
      • Button

        public Button​(String text,
                      com.vaadin.flow.component.Component icon,
                      com.vaadin.flow.component.ComponentEventListener<com.vaadin.flow.component.ClickEvent<Button>> clickListener)
        Create a button with a text, an icon and a listener for click events.
        Parameters:
        text - the text inside the button
        icon - the icon inside the button
        clickListener - the event listener for click events
        See Also:
        setText(String), setIcon(Component), ClickNotifier.addClickListener(ComponentEventListener)
    • Method Detail

      • setText

        public void setText​(String text)
        Sets the given string as the text content of this component.

        This method removes any existing text-content and replaces it with the given text.

        This method also sets or removes this button's theme=icon attribute based on whether this button contains only an icon after this operation or not.

        Specified by:
        setText in interface com.vaadin.flow.component.HasText
        Parameters:
        text - the text content to set, may be null to only remove existing text
      • setIcon

        public void setIcon​(com.vaadin.flow.component.Component icon)
        Sets the given component as the icon of this button.

        Even though you can use almost any component as an icon, some good options are Icon and Image.

        Use setIconAfterText(boolean) to change the icon's position relative to the button's text content.

        This method also sets or removes this button's theme=icon attribute based on whether this button contains only an icon after this operation or not.

        Parameters:
        icon - component to be used as an icon, may be null to only remove the current icon, can't be a text-node
      • getIcon

        public com.vaadin.flow.component.Component getIcon()
        Gets the component that is defined as the icon of this button.
        Returns:
        the icon of this button, or null if the icon is not set
      • setIconAfterText

        public void setIconAfterText​(boolean iconAfterText)
        Sets whether this button's icon should be positioned after it's text content or the other way around.

        At the element-level, this method determines whether to set slot="prefix" or slot="suffix" attribute to the icon.

        Parameters:
        iconAfterText - whether the icon should be positioned after the text content or not
      • isIconAfterText

        public boolean isIconAfterText()
        Gets whether this button's icon is positioned after it's text content or the other way around.
        Returns:
        true if this button positions it's icon after it's text content, false otherwise
      • click

        public void click()
        Simulates a click on this button on the server side. Calling this method executes all registered click listeners on the server side, but does not execute possible client side registered listeners.
        See Also:
        clickInClient()
      • clickInClient

        public void clickInClient()
        Executes a click on this button at the client-side. Calling this method behaves the same as if the user would have clicked on the button.
      • setAutofocus

        public void setAutofocus​(boolean autofocus)
        Set the button to be input focused when the page loads.
        Overrides:
        setAutofocus in class GeneratedVaadinButton<Button>
        Parameters:
        autofocus - the boolean value to set
      • isAutofocus

        public boolean isAutofocus()
        Get the state for the auto-focus property of the button.

        This property is not synchronized automatically from the client side, so the returned value may not be the same as in client side.

        Returns:
        the autofocus property from the button
      • setDisableOnClick

        public void setDisableOnClick​(boolean disableOnClick)
        Set the button so that it is disabled on click.

        Enabling the button needs to happen from the server.

        Parameters:
        disableOnClick - true to disable button immediately when clicked
      • isDisableOnClick

        public boolean isDisableOnClick()
        Get if button is set to be disabled on click.
        Returns:
        true if button gets disabled on click, else false
      • onAttach

        protected void onAttach​(com.vaadin.flow.component.AttachEvent attachEvent)
        Overrides:
        onAttach in class com.vaadin.flow.component.Component