Class Button
- java.lang.Object
-
- com.vaadin.flow.component.Component
-
- com.vaadin.flow.component.button.GeneratedVaadinButton<Button>
-
- com.vaadin.flow.component.button.Button
-
- All Implemented Interfaces:
AttachNotifier
,BlurNotifier<Button>
,ClickNotifier<Button>
,DetachNotifier
,Focusable<Button>
,FocusNotifier<Button>
,HasElement
,HasEnabled
,HasSize
,HasStyle
,HasText
,HasTheme
,HasThemeVariant<ButtonVariant>
,HasTooltip
,Serializable
- Direct Known Subclasses:
DrawerToggle
public class Button extends GeneratedVaadinButton<Button> implements HasSize, 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
BlurNotifier.BlurEvent<C extends Component>
-
Nested classes/interfaces inherited from interface com.vaadin.flow.component.FocusNotifier
FocusNotifier.FocusEvent<C extends Component>
-
Nested classes/interfaces inherited from interface com.vaadin.flow.component.HasText
HasText.WhiteSpace
-
-
Constructor Summary
Constructors Constructor Description Button()
Default constructor.Button(Component icon)
Creates a button with an icon inside.Button(Component icon, ComponentEventListener<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, Component icon)
Creates a button with a text and an icon inside.Button(String text, ComponentEventListener<ClickEvent<Button>> clickListener)
Creates a button with a text and a listener for click events.Button(String text, Component icon, ComponentEventListener<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)
Adds theme variants to the component.void
click()
Simulates a click on this button on the server side.void
clickInClient()
Executes a click on this button at the client-side.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(AttachEvent attachEvent)
Called when the component is attached to a UI.void
removeThemeVariants(ButtonVariant... variants)
Removes theme variants from the component.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(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.button.GeneratedVaadinButton
addToPrefix, addToSuffix, isAutofocusBoolean, isDisabledBoolean, remove, removeAll, setDisabled
-
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 class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
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
-
Methods inherited from interface com.vaadin.flow.component.shared.HasTooltip
getTooltip, setTooltipText
-
-
-
-
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(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, 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 buttonicon
- the icon inside the button- See Also:
setText(String)
,setIcon(Component)
-
Button
public Button(String text, ComponentEventListener<ClickEvent<Button>> clickListener)
Creates a button with a text and a listener for click events.- Parameters:
text
- the text inside the buttonclickListener
- the event listener for click events- See Also:
setText(String)
,ClickNotifier.addClickListener(ComponentEventListener)
-
Button
public Button(Component icon, ComponentEventListener<ClickEvent<Button>> clickListener)
Creates a button with an icon and a listener for click events.- Parameters:
icon
- the icon inside the buttonclickListener
- the event listener for click events- See Also:
setIcon(Component)
,ClickNotifier.addClickListener(ComponentEventListener)
-
Button
public Button(String text, Component icon, ComponentEventListener<ClickEvent<Button>> clickListener)
Create a button with a text, an icon and a listener for click events.- Parameters:
text
- the text inside the buttonicon
- the icon inside the buttonclickListener
- 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.
-
setIcon
public void setIcon(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
andImage
.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 benull
to only remove the current icon, can't be a text-node
-
getIcon
public 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"
orslot="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 classGeneratedVaadinButton<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, elsefalse
-
onAttach
protected void onAttach(AttachEvent attachEvent)
Description copied from class:Component
Called when the component is attached to a UI.The default implementation does nothing.
This method is invoked before the
AttachEvent
is fired for the component.
-
addThemeVariants
public void addThemeVariants(ButtonVariant... variants)
Description copied from interface:HasThemeVariant
Adds theme variants to the component.- Specified by:
addThemeVariants
in interfaceHasThemeVariant<ButtonVariant>
- Overrides:
addThemeVariants
in classGeneratedVaadinButton<Button>
- Parameters:
variants
- theme variants to add
-
removeThemeVariants
public void removeThemeVariants(ButtonVariant... variants)
Description copied from interface:HasThemeVariant
Removes theme variants from the component.- Specified by:
removeThemeVariants
in interfaceHasThemeVariant<ButtonVariant>
- Overrides:
removeThemeVariants
in classGeneratedVaadinButton<Button>
- Parameters:
variants
- theme variants to remove
-
-