Class FieldGenerator

java.lang.Object
com.vaadin.flow.component.Component
com.vaadin.flow.component.orderedlayout.HorizontalLayout
it.uniupo.simnova.views.common.utils.FieldGenerator
All Implemented Interfaces:
com.vaadin.flow.component.AttachNotifier, com.vaadin.flow.component.ClickNotifier<com.vaadin.flow.component.orderedlayout.HorizontalLayout>, 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.orderedlayout.FlexComponent, com.vaadin.flow.component.orderedlayout.ThemableLayout, Serializable

public class FieldGenerator extends com.vaadin.flow.component.orderedlayout.HorizontalLayout
Classe di supporto per la ***generazione e stilizzazione avanzata dei campi di input** di Vaadin Flow. Fornisce metodi statici per creare vari tipi di campi (TextField, NumberField, ComboBox, Select, TextArea, TimePicker, Checkbox, IntegerField, MultiSelectComboBox) con stili e comportamenti predefiniti, come ombreggiatura al passaggio del mouse, bordi colorati in base alla obbligatorietà e larghezza dinamica.
Version:
1.3
Author:
Alessandro Zappatore
See Also:
  • Nested Class Summary

    Nested classes/interfaces inherited from interface com.vaadin.flow.component.orderedlayout.FlexComponent

    com.vaadin.flow.component.orderedlayout.FlexComponent.Alignment, com.vaadin.flow.component.orderedlayout.FlexComponent.JustifyContentMode
  • Method Summary

    Modifier and Type
    Method
    Description
    static com.vaadin.flow.component.checkbox.Checkbox
    Crea e configura un ***Checkbox (Checkbox)** con stili avanzati.
    static <T> com.vaadin.flow.component.combobox.ComboBox<T>
    createComboBox(String label, Collection<T> items, T defaultValue, boolean required)
    Crea e configura un ***ComboBox (ComboBox)** generico con stili avanzati.
    static com.vaadin.flow.component.textfield.NumberField
    createMedicalField(String label, String placeholder, boolean required, String unit)
    Crea e configura un ***campo numerico (NumberField) specifico per dati medici** con unità di misura opzionale e stili avanzati.
    static com.vaadin.flow.component.combobox.MultiSelectComboBox<String>
    createMultiSelectComboBox(String label, List<String> items, boolean required)
    Crea e configura un ***MultiSelectComboBox (MultiSelectComboBox)** con stili avanzati per la selezione multipla di elementi.
    static com.vaadin.flow.component.textfield.NumberField
    createNumberField(String label, String placeholder, boolean required)
    Crea e configura un ***campo numerico (NumberField)** con stili avanzati.
    static <T> com.vaadin.flow.component.select.Select<T>
    createSelect(String label, Collection<T> items, T defaultValue, boolean required)
    Crea e configura un ***Select (Select)** generico con stili avanzati.
    static com.vaadin.flow.component.textfield.TextArea
    createTextArea(String label, String placeholder, boolean required)
    Crea e configura un'**area di testo (TextArea)** con stili avanzati.
    static com.vaadin.flow.component.textfield.TextField
    createTextField(String label, String placeholder, Boolean required)
    Crea e configura un ***campo di testo (TextField)** con stili avanzati.
    static com.vaadin.flow.component.textfield.IntegerField
    createTimeNavigationField(String label, String placeholder, boolean required)
    Crea e configura un ***campo intero (IntegerField) per la navigazione temporale** con stili avanzati.
    static com.vaadin.flow.component.orderedlayout.HorizontalLayout
    Crea e configura un ***TimePicker (TimePicker)** con preset di tempo rapidi e stili avanzati.

    Methods inherited from class com.vaadin.flow.component.orderedlayout.HorizontalLayout

    add, add, addAndExpand, addComponentAtIndex, addToEnd, addToEnd, addToMiddle, addToMiddle, addToStart, addToStart, getAlignItems, getAlignSelf, getDefaultVerticalComponentAlignment, getVerticalComponentAlignment, replace, setAlignItems, setAlignSelf, setDefaultVerticalComponentAlignment, setSpacing, setVerticalComponentAlignment

    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, onAttach, onDetach, onEnabledStateChanged, removeFromParent, scrollIntoView, 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.ClickNotifier

    addClickListener, addClickShortcut, addDoubleClickListener, addSingleClickListener

    Methods inherited from interface com.vaadin.flow.component.DetachNotifier

    addDetachListener

    Methods inherited from interface com.vaadin.flow.component.orderedlayout.FlexComponent

    expand, getFlexGrow, getFlexShrink, getJustifyContentMode, setFlexGrow, setFlexShrink, setJustifyContentMode

    Methods inherited from interface com.vaadin.flow.component.HasComponents

    add, addComponentAsFirst, remove, remove, removeAll

    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.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

    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.orderedlayout.ThemableLayout

    getBoxSizing, getSpacing, getThemeList, isMargin, isPadding, isSpacing, isWrap, setBoxSizing, setMargin, setPadding, setSpacing, setSpacing, setWrap
  • Method Details

    • createTextField

      public static com.vaadin.flow.component.textfield.TextField createTextField(String label, String placeholder, Boolean required)
      Crea e configura un ***campo di testo (TextField)** con stili avanzati. Include effetti di ombra al passaggio del mouse e bordi colorati.
      Parameters:
      label - Etichetta visualizzata sopra il campo.
      placeholder - Testo suggerito visualizzato all'interno del campo quando vuoto.
      required - Se true, il campo è obbligatorio e ha un bordo primario. Se false, il campo è opzionale e ha un bordo di successo. Se null, il campo non ha un colore di bordo specifico (contrasto).
      Returns:
      Il campo di testo configurato.
    • createNumberField

      public static com.vaadin.flow.component.textfield.NumberField createNumberField(String label, String placeholder, boolean required)
      Crea e configura un ***campo numerico (NumberField)** con stili avanzati.
      Parameters:
      label - Etichetta visualizzata sopra il campo.
      placeholder - Testo suggerito visualizzato all'interno del campo quando vuoto.
      required - Se true, il campo è obbligatorio e ha un bordo primario; altrimenti, ha un bordo di successo.
      Returns:
      Il campo numerico configurato.
    • createComboBox

      public static <T> com.vaadin.flow.component.combobox.ComboBox<T> createComboBox(String label, Collection<T> items, T defaultValue, boolean required)
      Crea e configura un ***ComboBox (ComboBox)** generico con stili avanzati.
      Type Parameters:
      T - Il tipo di dati contenuti nel ComboBox.
      Parameters:
      label - Etichetta visualizzata sopra il ComboBox.
      items - Collezione di elementi disponibili per la selezione.
      defaultValue - Valore predefinito da impostare all'avvio.
      required - Se true, il ComboBox è obbligatorio e ha un bordo primario; altrimenti, ha un bordo di successo.
      Returns:
      Il ComboBox configurato.
    • createSelect

      public static <T> com.vaadin.flow.component.select.Select<T> createSelect(String label, Collection<T> items, T defaultValue, boolean required)
      Crea e configura un ***Select (Select)** generico con stili avanzati.
      Type Parameters:
      T - Il tipo di dati contenuti nel Select.
      Parameters:
      label - Etichetta visualizzata sopra il Select.
      items - Collezione di elementi disponibili per la selezione.
      defaultValue - Valore predefinito da impostare all'avvio.
      required - Se true, il Select è obbligatorio e ha un bordo primario; altrimenti, ha un bordo di successo.
      Returns:
      Il Select configurato.
    • createMedicalField

      public static com.vaadin.flow.component.textfield.NumberField createMedicalField(String label, String placeholder, boolean required, String unit)
      Crea e configura un ***campo numerico (NumberField) specifico per dati medici** con unità di misura opzionale e stili avanzati.
      Parameters:
      label - Etichetta visualizzata sopra il campo.
      placeholder - Testo suggerito visualizzato all'interno del campo quando vuoto.
      required - Se true, il campo è obbligatorio e ha un bordo primario; altrimenti, ha un bordo di successo.
      unit - Unità di misura da visualizzare come suffisso (es. "bpm", "mmHg").
      Returns:
      Il campo numerico configurato.
    • createTextArea

      public static com.vaadin.flow.component.textfield.TextArea createTextArea(String label, String placeholder, boolean required)
      Crea e configura un'**area di testo (TextArea)** con stili avanzati.
      Parameters:
      label - Etichetta visualizzata sopra l'area di testo.
      placeholder - Testo suggerito visualizzato all'interno dell'area di testo quando vuota.
      required - Se true, l'area di testo è obbligatoria e ha un bordo primario; altrimenti, ha un bordo di successo.
      Returns:
      L'area di testo configurata.
    • createTimerPickerWithPresets

      public static com.vaadin.flow.component.orderedlayout.HorizontalLayout createTimerPickerWithPresets(String label)
      Crea e configura un ***TimePicker (TimePicker)** con preset di tempo rapidi e stili avanzati.
      Parameters:
      label - Etichetta visualizzata sopra il TimePicker.
      Returns:
      Un HorizontalLayout contenente il TimePicker e i pulsanti per i preset.
    • createCheckbox

      public static com.vaadin.flow.component.checkbox.Checkbox createCheckbox(String label)
      Crea e configura un ***Checkbox (Checkbox)** con stili avanzati.
      Parameters:
      label - Etichetta visualizzata accanto al checkbox.
      Returns:
      Il Checkbox configurato.
    • createTimeNavigationField

      public static com.vaadin.flow.component.textfield.IntegerField createTimeNavigationField(String label, String placeholder, boolean required)
      Crea e configura un ***campo intero (IntegerField) per la navigazione temporale** con stili avanzati.
      Parameters:
      label - Etichetta visualizzata sopra il campo.
      placeholder - Testo suggerito visualizzato all'interno del campo quando vuoto.
      required - Se true, il campo è obbligatorio e ha un bordo primario; altrimenti, ha un bordo di successo.
      Returns:
      Il campo intero configurato.
    • createMultiSelectComboBox

      public static com.vaadin.flow.component.combobox.MultiSelectComboBox<String> createMultiSelectComboBox(String label, List<String> items, boolean required)
      Crea e configura un ***MultiSelectComboBox (MultiSelectComboBox)** con stili avanzati per la selezione multipla di elementi.
      Parameters:
      label - Etichetta visualizzata sopra il campo.
      items - Lista di valori disponibili per la selezione.
      required - Se true, il campo è obbligatorio e ha un bordo primario; altrimenti, ha un bordo di successo.
      Returns:
      Il MultiSelectComboBox configurato.