5.5.2.4. API компонентов
Доступно для всех визуальных компонентов
  • unwrap() - возвращает экземпляр компонента для текущего типа клиента (компонент Vaadin или Swing). Можно использовать в клиентском модуле для доступа к API базового компонента, см. раздел Работа с компонентами Vaadin.

    com.vaadin.ui.TextField vTextField = textField.unwrap(com.vaadin.ui.TextField.class);
  • unwrapComposition() - возвращает экземпляр самого внешнего контейнера для текущего типа клиента. Можно использовать в клиентском модуле для доступа к API базового компонента.

Component.Buffered
  • commit() - обновляет источник данных, сохраняя все изменения, внесённые после последнего коммита.

  • discard() - отменяет все изменения, внесённые после последнего коммита. Значение компонента обновляется из источника данных.

  • isModified() - возвращает true, если значение компонента изменилось с момента последнего обновления из источника данных.

if (textArea.isModified()) {
    textArea.commit();
}

Доступно для компонентов:

Component.Collapsable
  • addExpandedStateChangeListener() - добавляет слушатель, реализующий интерфейс ExpandedStateChangeListener, для отслеживания событий сворачивания/разворачивания компонента.

    groupBox.addExpandedStateChangeListener(e ->
            showNotification("Expanded: " + groupBox.isExpanded()));

Доступно для компонентов:

Component.Container
  • add() - добавляет дочерний компонент в контейнер.

  • remove() - удаляет дочерний компонент из контейнера.

  • removeAll() - удаляет все дочерние компоненты из контейнера.

  • getOwnComponent() - возвращает компонент, вложенный непосредственно в этот контейнер.

  • getComponent() - возвращает компонент, находящийся где-либо внутри дерева компонентов в этом контейнере.

  • getComponentNN() - возвращает компонент, находящийся где-либо внутри дерева компонентов в этом контейнере, и выбрасывает исключение, если компонент не найден.

  • getOwnComponents() - возвращает список всех компонентов, вложенных непосредственно в этот контейнер.

  • getComponents() - возвращает список всех компонентов, находящихся где-либо внутри дерева компонентов в этом контейнере.

Доступно для компонентов:

Component.OrderedContainer
  • indexOf() - возвращает индекс компонента внутри упорядоченного контейнера.

Доступно для компонентов:

Component.HasContextHelp
  • setContextHelpIconClickHandler() - добавляет слушатель кликов по значку контекстной подсказки. Слушатель имеет приоритет над текстом подсказки, таким образом, контекстная подсказка с текстом не будет отображаться, если также установлен слушатель кликов по значку подсказки.

textArea.setContextHelpIconClickHandler(event ->
        showMessageDialog("Title", "Body message",
                MessageType.CONFIRMATION_HTML
                        .modal(false)));

Доступно для компонентов:

Component.HasSettings
  • applySettings() - восстанавливает последние пользовательские настройки для этого компонента.

  • saveSettings() - сохраняет текущие пользовательские настройки для этого компонента.

Доступно для компонентов:

Component.HasValue
  • addValueChangeListener() - добавляет слушатель, реализующий интерфейс ValueChangeListener, для отслеживания изменения значения компонента. Если компонент привязан к некоему источнику данных, то с точки зрения жизненного цикла экрана зачастую удобнее использовать слушатели источников данных.

    textField.addValueChangeListener(e ->
            showNotification("Before: " + e.getPrevValue() + ". After: " + e.getValue()));

Доступно для компонентов:

Component.LayoutClickNotifier
  • addLayoutClickListener() - добавляет слушатель, реализующий интерфейс LayoutClickListener, для отслеживания кликов по области компонента.

    vbox.addLayoutClickListener(event ->
                    showNotification("Clicked"));

Доступно для компонентов:

Component.Margin
  • setMargin() - устанавливает компоненту внешние поля.

    • Добавление внешних полей со всех сторон компонента:

      vbox.setMargin(true);
    • Добавление внешних полей только в верхней и нижней части компонента:

      vbox.setMargin(true, false, true, false);
    • Создание объекта конфигурации MarginInfo:

      vbox.setMargin(new MarginInfo(true, false, false, true));
  • getMargin() - возвращает конфигурацию внешних полей в виде экземпляра MarginInfo.

Доступно для компонентов:

Component.OuterMargin
  • setOuterMargin() - устанавливает внешние поля вокруг границы компонента.

    • Добавление внешних полей со всех сторон компонента:

      groupBox.setOuterMargin(true);
    • Добавление внешних полей только в верхней и нижней части компонента:

      groupBox.setOuterMargin(true, false, true, false);
    • Создание объекта конфигурации MarginInfo:

      groupBox.setOuterMargin(new MarginInfo(true, false, false, true));
  • getOuterMargin() - возвращает конфигурацию внешних полей в виде экземпляра MarginInfo.

Доступно для компонентов:

Component.ShortcutNotifier
  • addShortcutAction() - добавляет действие, вызываемое при нажатии определённого сочетания клавиш.

    cssLayout.addShortcutAction(new ShortcutAction("SHIFT-A", shortcutTriggeredEvent ->
            showNotification("SHIFT-A action" )));

Доступно для компонентов:

Component.Spacing
  • setSpacing() - добавляет внутренние поля между компонентом и вложенными в него компонентами.

    vbox.setSpacing(true);

Доступно для компонентов: