Class Tabs
- java.lang.Object
-
- com.vaadin.flow.component.Component
-
- com.vaadin.flow.component.tabs.GeneratedVaadinTabs<Tabs>
-
- com.vaadin.flow.component.tabs.Tabs
-
- All Implemented Interfaces:
com.vaadin.flow.component.AttachNotifier,com.vaadin.flow.component.DetachNotifier,com.vaadin.flow.component.HasComponents,com.vaadin.flow.component.HasElement,com.vaadin.flow.component.HasEnabled,com.vaadin.flow.component.HasOrderedComponents,com.vaadin.flow.component.HasSize,com.vaadin.flow.component.HasStyle,com.vaadin.flow.component.HasTheme,Serializable
public class Tabs extends GeneratedVaadinTabs<Tabs> implements com.vaadin.flow.component.HasOrderedComponents, com.vaadin.flow.component.HasSize
Tabs are used to organize and group content into sections that the user can navigate between. Use Tabs when you want to allow in-place navigation within a certain part of the UI, instead of showing everything at once or forcing the user to navigate between different views.Tabcomponents can be added to this component with theadd(Tab...)method or theTabs(Tab...)constructor. The Tab components added to it can be selected with thesetSelectedIndex(int)orsetSelectedTab(Tab)methods. The first addedTabcomponent will be automatically selected, firing aTabs.SelectedChangeEvent, unless autoselection is explicitly disabled withTabs(boolean, Tab...), orsetAutoselect(boolean). Removing the selected tab from the component changes the selection to the next available tab.Note: Adding or removing Tab components via the Element API, eg.
tabs.getElement().insertChild(0, tab.getElement());, doesn't update the selected index, so it may cause the selected tab to change unexpectedly.- Author:
- Vaadin Ltd.
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classTabs.OrientationThe valid orientations ofTabsinstances.static classTabs.SelectedChangeEventAn event to mark that the selected tab has changed.
-
Constructor Summary
Constructors Constructor Description Tabs()Constructs an empty new object withHORIZONTALorientation.Tabs(boolean autoselect, Tab... tabs)Constructs a new object enclosing the given autoselect option and tabs, withHORIZONTALorientation.Tabs(Tab... tabs)Constructs a new object enclosing the given tabs, withHORIZONTALorientation.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(com.vaadin.flow.component.Component... components)voidadd(Tab... tabs)Adds the given tabs to the component.voidaddComponentAtIndex(int index, com.vaadin.flow.component.Component component)com.vaadin.flow.shared.RegistrationaddSelectedChangeListener(com.vaadin.flow.component.ComponentEventListener<Tabs.SelectedChangeEvent> listener)Adds a listener forTabs.SelectedChangeEvent.voidaddThemeVariants(TabsVariant... variants)Adds theme variants to the component.Tabs.OrientationgetOrientation()Gets the orientation of this tab sheet.intgetSelectedIndex()Gets the zero-based index of the currently selected tab.TabgetSelectedTab()Gets the currently selected tab.booleanisAutoselect()Gets whether the tabs should be automatically selected.protected voidonAttach(com.vaadin.flow.component.AttachEvent attachEvent)voidremove(com.vaadin.flow.component.Component... components)voidremoveAll()voidremoveThemeVariants(TabsVariant... variants)Removes theme variants from the component.voidreplace(com.vaadin.flow.component.Component oldComponent, com.vaadin.flow.component.Component newComponent)voidsetAutoselect(boolean autoselect)Specify that the tabs should be automatically selected.voidsetFlexGrowForEnclosedTabs(double flexGrow)Sets the flex grow property of all enclosed tabs.voidsetOrientation(Tabs.Orientation orientation)Sets the orientation of this tab sheet.voidsetSelectedIndex(int selectedIndex)Selects a tab based on its zero-based index.voidsetSelectedTab(Tab selectedTab)Selects the given tab.-
Methods inherited from class com.vaadin.flow.component.tabs.GeneratedVaadinTabs
focus
-
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.HasComponents
add, add, addComponentAsFirst, remove
-
Methods inherited from interface com.vaadin.flow.component.HasOrderedComponents
getChildren, getComponentAt, getComponentCount, indexOf
-
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
-
-
-
-
Constructor Detail
-
Tabs
public Tabs()
Constructs an empty new object withHORIZONTALorientation.
-
Tabs
public Tabs(Tab... tabs)
Constructs a new object enclosing the given tabs, withHORIZONTALorientation.The first added
Tabcomponent will be automatically selected. Any selection change listener added afterwards will not be notified about the auto-selected tab.- Parameters:
tabs- the tabs to enclose
-
Tabs
public Tabs(boolean autoselect, Tab... tabs)Constructs a new object enclosing the given autoselect option and tabs, withHORIZONTALorientation.Unless auto-select is disabled, the first added
Tabcomponent will be automatically selected. Any selection change listener added afterwards will not be notified about the auto-selected tab.- Parameters:
autoselect-trueto automatically select the first added tab,falseto leave tabs unselectedtabs- the tabs to enclose
-
-
Method Detail
-
add
public void add(Tab... tabs)
Adds the given tabs to the component.The first added
Tabcomponent will be automatically selected, unless auto-selection is explicitly disabled withTabs(boolean, Tab...), orsetAutoselect(boolean). If a selection change listener has been added before adding the tabs, it will be notified with the auto-selected tab.- Parameters:
tabs- the tabs to enclose
-
add
public void add(com.vaadin.flow.component.Component... components)
- Specified by:
addin interfacecom.vaadin.flow.component.HasComponents
-
remove
public void remove(com.vaadin.flow.component.Component... components)
Removing components before the selected tab will decrease the
selected indexto avoid changing the selected tab. Removing the selected tab will select the next available tab if autoselect is true, otherwise no tab will be selected.- Specified by:
removein interfacecom.vaadin.flow.component.HasComponents
-
removeAll
public void removeAll()
This will reset the
selected indexto zero.- Specified by:
removeAllin interfacecom.vaadin.flow.component.HasComponents
-
addComponentAtIndex
public void addComponentAtIndex(int index, com.vaadin.flow.component.Component component)Adding a component before the currently selected tab will increment the
selected indexto avoid changing the selected tab.- Specified by:
addComponentAtIndexin interfacecom.vaadin.flow.component.HasComponents
-
replace
public void replace(com.vaadin.flow.component.Component oldComponent, com.vaadin.flow.component.Component newComponent)Replacing the currently selected tab will make the new tab selected.
- Specified by:
replacein interfacecom.vaadin.flow.component.HasOrderedComponents
-
onAttach
protected void onAttach(com.vaadin.flow.component.AttachEvent attachEvent)
- Overrides:
onAttachin classcom.vaadin.flow.component.Component
-
addSelectedChangeListener
public com.vaadin.flow.shared.Registration addSelectedChangeListener(com.vaadin.flow.component.ComponentEventListener<Tabs.SelectedChangeEvent> listener)
Adds a listener forTabs.SelectedChangeEvent.- Parameters:
listener- the listener to add, notnull- Returns:
- a handle that can be used for removing the listener
-
getSelectedIndex
@Synchronize(property="selected", value="selected-changed") public int getSelectedIndex()Gets the zero-based index of the currently selected tab.- Returns:
- the zero-based index of the selected tab, or -1 if none of the tabs is selected
-
setSelectedIndex
public void setSelectedIndex(int selectedIndex)
Selects a tab based on its zero-based index.- Parameters:
selectedIndex- the zero-based index of the selected tab, -1 to unselect all
-
getSelectedTab
public Tab getSelectedTab()
Gets the currently selected tab.- Returns:
- the selected tab, or
nullif none is selected
-
setSelectedTab
public void setSelectedTab(Tab selectedTab)
Selects the given tab.- Parameters:
selectedTab- the tab to select,nullto unselect all- Throws:
IllegalArgumentException- ifselectedTabis not a child of this component
-
getOrientation
public Tabs.Orientation getOrientation()
Gets the orientation of this tab sheet.- Returns:
- the orientation
-
setOrientation
public void setOrientation(Tabs.Orientation orientation)
Sets the orientation of this tab sheet.- Parameters:
orientation- the orientation
-
setFlexGrowForEnclosedTabs
public void setFlexGrowForEnclosedTabs(double flexGrow)
Sets the flex grow property of all enclosed tabs. The flex grow property specifies what amount of the available space inside the layout the component should take up, proportionally to the other components.For example, if all components have a flex grow property value set to 1, the remaining space in the layout will be distributed equally to all components inside the layout. If you set a flex grow property of one component to 2, that component will take twice the available space as the other components, and so on.
Setting to flex grow property value 0 disables the expansion of the component. Negative values are not allowed.
- Parameters:
flexGrow- the proportion of the available space the enclosed tabs should take up- Throws:
IllegalArgumentException- ifflexGrowis negative
-
setAutoselect
public void setAutoselect(boolean autoselect)
Specify that the tabs should be automatically selected. When autoselect is false, no tab will be selected when the component load and it will not select any others tab when removing currently selected tab. The default value is true.- Parameters:
autoselect-trueto autoselect tab,falseto not.
-
isAutoselect
public boolean isAutoselect()
Gets whether the tabs should be automatically selected. The default value is true.- Returns:
trueif autoselect is active,falseotherwise- See Also:
setAutoselect(boolean)
-
addThemeVariants
public void addThemeVariants(TabsVariant... variants)
Adds theme variants to the component.- Overrides:
addThemeVariantsin classGeneratedVaadinTabs<Tabs>- Parameters:
variants- theme variants to add
-
removeThemeVariants
public void removeThemeVariants(TabsVariant... variants)
Removes theme variants from the component.- Overrides:
removeThemeVariantsin classGeneratedVaadinTabs<Tabs>- Parameters:
variants- theme variants to remove
-
-