Class CheckboxGroup<T>
java.lang.Object
com.vaadin.flow.component.Component
com.vaadin.flow.component.AbstractField<C,T>
com.vaadin.flow.component.AbstractSinglePropertyField<CheckboxGroup<T>,Set<T>>
com.vaadin.flow.component.checkbox.CheckboxGroup<T>
- 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.HasHelper,com.vaadin.flow.component.HasLabel,com.vaadin.flow.component.HasSize,com.vaadin.flow.component.HasStyle,com.vaadin.flow.component.HasTheme,com.vaadin.flow.component.HasValidation,com.vaadin.flow.component.HasValue<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<CheckboxGroup<T>,,Set<T>>, Set<T>> com.vaadin.flow.component.HasValueAndElement<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<CheckboxGroup<T>,,Set<T>>, Set<T>> HasClientValidation,HasThemeVariant<CheckboxGroupVariant>,HasTooltip,HasValidationProperties,com.vaadin.flow.data.binder.HasItemComponents<T>,com.vaadin.flow.data.binder.HasValidator<Set<T>>,com.vaadin.flow.data.provider.HasDataView<T,,Void, CheckboxGroupDataView<T>> com.vaadin.flow.data.provider.HasListDataView<T,,CheckboxGroupListDataView<T>> com.vaadin.flow.data.selection.MultiSelect<CheckboxGroup<T>,,T> Serializable
@Tag("vaadin-checkbox-group")
@NpmPackage(value="@vaadin/polymer-legacy-adapter",version="24.0.13") @NpmPackage(value="@vaadin/checkbox-group",version="24.0.13")
@JsModule("@vaadin/polymer-legacy-adapter/style-modules.js") @JsModule("@vaadin/checkbox-group/src/vaadin-checkbox-group.js")
public class CheckboxGroup<T>
extends com.vaadin.flow.component.AbstractSinglePropertyField<CheckboxGroup<T>,Set<T>>
implements HasClientValidation, com.vaadin.flow.data.provider.HasDataView<T,Void,CheckboxGroupDataView<T>>, com.vaadin.flow.component.HasHelper, com.vaadin.flow.data.binder.HasItemComponents<T>, com.vaadin.flow.component.HasLabel, com.vaadin.flow.component.HasSize, com.vaadin.flow.component.HasStyle, com.vaadin.flow.data.provider.HasListDataView<T,CheckboxGroupListDataView<T>>, HasTooltip, HasThemeVariant<CheckboxGroupVariant>, HasValidationProperties, com.vaadin.flow.data.binder.HasValidator<Set<T>>, com.vaadin.flow.data.selection.MultiSelect<CheckboxGroup<T>,T>
CheckBoxGroup is a multi-selection component where items are displayed as
check boxes.
Use CheckBoxGroup to group related items. Individual checkboxes should be used for options that are not related to each other in any way.
- Author:
- Vaadin Ltd
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class com.vaadin.flow.component.AbstractField
com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<C extends com.vaadin.flow.component.Component,V extends Object> Nested classes/interfaces inherited from interface com.vaadin.flow.component.shared.HasClientValidation
HasClientValidation.ClientValidatedEventNested classes/interfaces inherited from interface com.vaadin.flow.data.binder.HasItemComponents
com.vaadin.flow.data.binder.HasItemComponents.ItemComponent<T extends Object>Nested classes/interfaces inherited from interface com.vaadin.flow.component.HasValue
com.vaadin.flow.component.HasValue.ValueChangeEvent<V extends Object>, com.vaadin.flow.component.HasValue.ValueChangeListener<E extends com.vaadin.flow.component.HasValue.ValueChangeEvent<?>> -
Constructor Summary
ConstructorsConstructorDescriptionCreates an empty checkbox groupCheckboxGroup(com.vaadin.flow.component.HasValue.ValueChangeListener<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<CheckboxGroup<T>, Set<T>>> listener) Constructs a checkbox group with a value change listener.CheckboxGroup(String label) Creates an empty checkbox group with the defined label.CheckboxGroup(String label, com.vaadin.flow.component.HasValue.ValueChangeListener<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<CheckboxGroup<T>, Set<T>>> listener) Constructs a checkbox group with the defined label and a value change listener.CheckboxGroup(String label, com.vaadin.flow.component.HasValue.ValueChangeListener<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<CheckboxGroup<T>, Set<T>>> listener, T... items) Constructs a checkbox group with the defined label, a value change listener and populated with the items in the array.CheckboxGroup(String label, Collection<T> items) Creates a checkbox group with the defined label and populated with the items in the collection.CheckboxGroup(String label, T... items) Creates a checkbox group with the defined label and populated with the items in the array. -
Method Summary
Modifier and TypeMethodDescriptioncom.vaadin.flow.shared.RegistrationaddSelectionListener(com.vaadin.flow.data.selection.MultiSelectionListener<CheckboxGroup<T>, T> listener) com.vaadin.flow.shared.RegistrationaddValidationStatusChangeListener(com.vaadin.flow.data.binder.ValidationStatusChangeListener<Set<T>> listener) Gets the generic data view for the checkbox group.com.vaadin.flow.function.SerializablePredicate<T>Returns the item enabled predicate.com.vaadin.flow.component.ItemLabelGenerator<T>Gets the item label generator that is used to produce the strings shown in the checkbox group for each item.ComponentRenderer<? extends com.vaadin.flow.component.Component,T> Returns the item component renderer.getLabel()Gets the label of the checkbox group.Gets the list data view for the checkbox group.protected booleanprotected booleanIf true, the user cannot interact with this element.booleanbooleanDetermines whether the checkbox group is marked as input required.protected voidonAttach(com.vaadin.flow.component.AttachEvent attachEvent) voidonEnabledStateChanged(boolean enabled) protected voidsetDisabled(boolean disabled) If true, the user cannot interact with this element.voidsetItemEnabledProvider(com.vaadin.flow.function.SerializablePredicate<T> itemEnabledProvider) Sets the item enabled predicate for this checkbox group.voidsetItemLabelGenerator(com.vaadin.flow.component.ItemLabelGenerator<T> itemLabelGenerator) Sets the item label generator that is used to produce the strings shown in the checkbox group for each item.voidSets the label for the checkbox group.voidsetReadOnly(boolean readOnly) voidsetRenderer(ComponentRenderer<? extends com.vaadin.flow.component.Component, T> renderer) Sets the item renderer for this checkbox group.voidsetRequired(boolean required) Specifies that the user must fill in a value.voidSets the value of this component.voidupdateSelection(Set<T> addedItems, Set<T> removedItems) protected voidvalidate()protected booleanvalueEquals(Set<T> value1, Set<T> value2) Methods inherited from class com.vaadin.flow.component.AbstractSinglePropertyField
getSynchronizationRegistration, setPresentationValue, setSynchronizedEventMethods inherited from class com.vaadin.flow.component.AbstractField
addValueChangeListener, getEmptyValue, getValue, isEmpty, setModelValueMethods 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, removeFromParent, scrollIntoView, scrollIntoView, set, setElement, setId, setVisibleMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.vaadin.flow.component.AttachNotifier
addAttachListenerMethods inherited from interface com.vaadin.flow.component.DetachNotifier
addDetachListenerMethods inherited from interface com.vaadin.flow.component.shared.HasClientValidation
addClientValidatedEventListenerMethods inherited from interface com.vaadin.flow.component.HasComponents
add, add, add, addComponentAsFirst, addComponentAtIndex, remove, remove, removeAllMethods inherited from interface com.vaadin.flow.component.HasElement
getElementMethods inherited from interface com.vaadin.flow.component.HasEnabled
isEnabled, setEnabledMethods inherited from interface com.vaadin.flow.component.HasHelper
getHelperComponent, getHelperText, setHelperComponent, setHelperTextMethods inherited from interface com.vaadin.flow.data.binder.HasItemComponents
addComponents, getItemPosition, prependComponentsMethods inherited from interface com.vaadin.flow.data.provider.HasListDataView
setItems, setItemsMethods 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, setWidthFullMethods inherited from interface com.vaadin.flow.component.HasStyle
addClassName, addClassNames, getClassName, getClassNames, getStyle, hasClassName, removeClassName, removeClassNames, setClassName, setClassNameMethods inherited from interface com.vaadin.flow.component.HasTheme
addThemeName, addThemeNames, getThemeName, getThemeNames, hasThemeName, removeThemeName, removeThemeNames, setThemeName, setThemeNameMethods inherited from interface com.vaadin.flow.component.shared.HasThemeVariant
addThemeVariants, removeThemeVariantsMethods inherited from interface com.vaadin.flow.component.shared.HasTooltip
getTooltip, setTooltipTextMethods inherited from interface com.vaadin.flow.component.shared.HasValidationProperties
getErrorMessage, isInvalid, setErrorMessage, setInvalidMethods inherited from interface com.vaadin.flow.data.binder.HasValidator
getDefaultValidatorMethods inherited from interface com.vaadin.flow.component.HasValue
addValueChangeListener, clear, getOptionalValue, isEmptyMethods inherited from interface com.vaadin.flow.component.HasValueAndElement
isRequiredIndicatorVisible, setRequiredIndicatorVisibleMethods inherited from interface com.vaadin.flow.data.selection.MultiSelect
deselect, deselect, deselectAll, getEmptyValue, getValue, isSelected, select, select
-
Constructor Details
-
CheckboxGroup
public CheckboxGroup()Creates an empty checkbox group -
CheckboxGroup
Creates an empty checkbox group with the defined label.- Parameters:
label- the label describing the checkbox group- See Also:
-
CheckboxGroup
Creates a checkbox group with the defined label and populated with the items in the collection.- Parameters:
label- the label describing the checkbox groupitems- the items to be shown in the list of the checkbox group- See Also:
-
setLabel(String)HasListDataView.setItems(Collection)
-
CheckboxGroup
Creates a checkbox group with the defined label and populated with the items in the array.- Parameters:
label- the label describing the checkbox groupitems- the items to be shown in the list of the checkbox group- See Also:
-
setLabel(String)HasListDataView.setItems(Object...)
-
CheckboxGroup
public CheckboxGroup(com.vaadin.flow.component.HasValue.ValueChangeListener<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<CheckboxGroup<T>, Set<T>>> listener) Constructs a checkbox group with a value change listener.- Parameters:
listener- the value change listener to add- See Also:
-
AbstractField.addValueChangeListener(ValueChangeListener)
-
CheckboxGroup
public CheckboxGroup(String label, com.vaadin.flow.component.HasValue.ValueChangeListener<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<CheckboxGroup<T>, Set<T>>> listener) Constructs a checkbox group with the defined label and a value change listener.- Parameters:
label- the label describing the checkbox grouplistener- the value change listener to add- See Also:
-
setLabel(String)AbstractField.addValueChangeListener(ValueChangeListener)
-
CheckboxGroup
@SafeVarargs public CheckboxGroup(String label, com.vaadin.flow.component.HasValue.ValueChangeListener<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<CheckboxGroup<T>, Set<T>>> listener, T... items) Constructs a checkbox group with the defined label, a value change listener and populated with the items in the array.- Parameters:
label- the label describing the checkbox grouplistener- the value change listener to additems- the items to be shown in the list of the checkbox group- See Also:
-
setLabel(String)AbstractField.addValueChangeListener(ValueChangeListener)HasListDataView.setItems(Object...)
-
-
Method Details
-
onAttach
protected void onAttach(com.vaadin.flow.component.AttachEvent attachEvent) - Overrides:
onAttachin classcom.vaadin.flow.component.Component
-
setItems
public CheckboxGroupDataView<T> setItems(com.vaadin.flow.data.provider.DataProvider<T, Void> dataProvider) - Specified by:
setItemsin interfacecom.vaadin.flow.data.provider.HasDataView<T,Void, CheckboxGroupDataView<T>>
-
setItems
public CheckboxGroupDataView<T> setItems(com.vaadin.flow.data.provider.InMemoryDataProvider<T> inMemoryDataProvider) - Specified by:
setItemsin interfacecom.vaadin.flow.data.provider.HasDataView<T,Void, CheckboxGroupDataView<T>>
-
setItems
public CheckboxGroupListDataView<T> setItems(com.vaadin.flow.data.provider.ListDataProvider<T> dataProvider) - Specified by:
setItemsin interfacecom.vaadin.flow.data.provider.HasListDataView<T,CheckboxGroupListDataView<T>>
-
getListDataView
Gets the list data view for the checkbox group. This data view should only be used when the items are in-memory and set with:HasListDataView.setItems(Collection)HasListDataView.setItems(Object[])setItems(ListDataProvider)
- Specified by:
getListDataViewin interfacecom.vaadin.flow.data.provider.HasListDataView<T,CheckboxGroupListDataView<T>> - Returns:
- the list data view that provides access to the data bound to the checkbox group
-
getGenericDataView
Gets the generic data view for the checkbox group. This data view should only be used whengetListDataView()is not applicable for the underlying data provider.- Specified by:
getGenericDataViewin interfacecom.vaadin.flow.data.provider.HasDataView<T,Void, CheckboxGroupDataView<T>> - Returns:
- the generic DataView instance implementing
CheckboxGroupDataView
-
updateSelection
- Specified by:
updateSelectionin interfacecom.vaadin.flow.data.selection.MultiSelect<CheckboxGroup<T>,T>
-
setValue
Sets the value of this component. If the new value is not equal to the previous value, fires a value change event.The component doesn't accept
nullvalues. The value of a checkbox group without any selected items is an empty set. You can use theHasValue.clear()method to set the empty value.- Specified by:
setValuein interfacecom.vaadin.flow.component.HasValue<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<CheckboxGroup<T>,Set<T>>, Set<T>> - Specified by:
setValuein interfacecom.vaadin.flow.data.selection.MultiSelect<CheckboxGroup<T>,T> - Overrides:
setValuein classcom.vaadin.flow.component.AbstractField<CheckboxGroup<T>,Set<T>> - Parameters:
value- the new value to set, notnull- Throws:
NullPointerException- if value isnull
-
getSelectedItems
- Specified by:
getSelectedItemsin interfacecom.vaadin.flow.data.selection.MultiSelect<CheckboxGroup<T>,T>
-
addSelectionListener
public com.vaadin.flow.shared.Registration addSelectionListener(com.vaadin.flow.data.selection.MultiSelectionListener<CheckboxGroup<T>, T> listener) - Specified by:
addSelectionListenerin interfacecom.vaadin.flow.data.selection.MultiSelect<CheckboxGroup<T>,T>
-
onEnabledStateChanged
public void onEnabledStateChanged(boolean enabled) - Overrides:
onEnabledStateChangedin classcom.vaadin.flow.component.Component
-
setReadOnly
public void setReadOnly(boolean readOnly) - Specified by:
setReadOnlyin interfacecom.vaadin.flow.component.HasValue<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<CheckboxGroup<T>,Set<T>>, Set<T>> - Specified by:
setReadOnlyin interfacecom.vaadin.flow.component.HasValueAndElement<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<CheckboxGroup<T>,Set<T>>, Set<T>>
-
isReadOnly
public boolean isReadOnly()- Specified by:
isReadOnlyin interfacecom.vaadin.flow.component.HasValue<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<CheckboxGroup<T>,Set<T>>, Set<T>> - Specified by:
isReadOnlyin interfacecom.vaadin.flow.component.HasValueAndElement<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<CheckboxGroup<T>,Set<T>>, Set<T>>
-
getItemEnabledProvider
Returns the item enabled predicate.- Returns:
- the item enabled predicate
- See Also:
-
setItemEnabledProvider
public void setItemEnabledProvider(com.vaadin.flow.function.SerializablePredicate<T> itemEnabledProvider) Sets the item enabled predicate for this checkbox group. The predicate is applied to each item to determine whether the item should be enabled (true) or disabled (false). Disabled items are displayed as grayed out and the user cannot select them. The default predicate always returns true (all the items are enabled).- Parameters:
itemEnabledProvider- the item enable predicate, notnull
-
setItemLabelGenerator
public void setItemLabelGenerator(com.vaadin.flow.component.ItemLabelGenerator<T> itemLabelGenerator) Sets the item label generator that is used to produce the strings shown in the checkbox group for each item. By default,String.valueOf(Object)is used.Setting an item label generator removes any previously set item renderer.
- Parameters:
itemLabelGenerator- the item label provider to use, not null
-
getItemLabelGenerator
Gets the item label generator that is used to produce the strings shown in the checkbox group for each item.- Returns:
- the item label generator used, not null
-
setLabel
Sets the label for the checkbox group.- Specified by:
setLabelin interfacecom.vaadin.flow.component.HasLabel- Parameters:
label- value for thelabelproperty in the checkbox group
-
getLabel
Gets the label of the checkbox group.- Specified by:
getLabelin interfacecom.vaadin.flow.component.HasLabel- Returns:
- the
labelproperty of the checkbox group
-
setRequired
public void setRequired(boolean required) Specifies that the user must fill in a value.- Parameters:
required- the boolean value to set
-
isRequired
public boolean isRequired()Determines whether the checkbox group is marked as input required.This property is not synchronized automatically from the client side, so the returned value may not be the same as in client side.
- Returns:
trueif the input is required,falseotherwise
-
setDisabled
protected void setDisabled(boolean disabled) If true, the user cannot interact with this element.- Parameters:
disabled- the boolean value to set
-
isDisabledBoolean
protected boolean isDisabledBoolean()If true, the user cannot interact with this element.- Returns:
- the
disabledproperty from the webcomponent
-
valueEquals
- Overrides:
valueEqualsin classcom.vaadin.flow.component.AbstractField<CheckboxGroup<T>,Set<T>>
-
hasValidValue
protected boolean hasValidValue()- Overrides:
hasValidValuein classcom.vaadin.flow.component.AbstractSinglePropertyField<CheckboxGroup<T>,Set<T>>
-
getItemRenderer
Returns the item component renderer.- Returns:
- the item renderer
- Since:
- 23.1
- See Also:
-
setRenderer
public void setRenderer(ComponentRenderer<? extends com.vaadin.flow.component.Component, T> renderer) Sets the item renderer for this checkbox group. The renderer is applied to each item to create a component which represents the item.Note: Component acts as a label to the checkbox and clicks on it trigger the checkbox. Hence interactive components like DatePicker or ComboBox cannot be used.
- Parameters:
renderer- the item renderer, notnull- Since:
- 23.1
-
validate
protected void validate() -
addValidationStatusChangeListener
public com.vaadin.flow.shared.Registration addValidationStatusChangeListener(com.vaadin.flow.data.binder.ValidationStatusChangeListener<Set<T>> listener) - Specified by:
addValidationStatusChangeListenerin interfacecom.vaadin.flow.data.binder.HasValidator<T>
-