ResizableTextArea

ResizableTextArea – это многострочное текстовое поле для редактирования текста с возможностью изменять размер.

resizable text area

XML-имя компонента: resizableTextArea.

Основы

ResizableTextArea в основном повторяет функциональность TextArea и имеет единственный специфический атрибут:

resizableDirection - определяет, каким образом пользователь может изменять размер компонента. Имеет следующие возможные значения:

  • BOTH - значение по умолчанию. Компонент может изменять размер в обоих направлениях.

  • VERTICAL - компонент может изменять размер только по вертикали.

  • HORIZONTAL - компонент может изменять размер только по горизонтали.

  • NONE - компонент не может изменять размер.

Пример использования:

<resizableTextArea caption="ResizableTextArea"
                   width="200px"
                   resizableDirection="VERTICAL"/>

Обратите внимание, что компонент перестает поддерживать изменение размера в соответствующем направлении, если размер компонента задан в процентах. Например, если определить:

  • resizableDirection="VERTICAL" и задать height в процентах.

  • resizableDirection="HORIZONTAL" и задать width" в процентах.

  • resizableDirection="BOTH" и задать либо width, либо height в процентах.

Во всех случаях, описанных выше, компонент не будет поддерживать изменение размера.

События и слушатели

Чтобы сгенерировать заглушку слушателя в Jmix Studio, выберите компонент в XML-дескрипторе экрана или на панели иерархии Jmix UI и используйте вкладку Handlers на панели инспектора Jmix UI.

В качестве альтернативы вы можете воспользоваться кнопкой Generate Handler на верхней панели контроллера экрана.

ContextHelpIconClickEvent

ResizeEvent

События изменения размеров области можно отслеживать с помощью слушателя ResizeEvent, например:

<resizableTextArea id="resizableTextArea"/>
@Autowired
private Notifications notifications;

@Subscribe("resizableTextArea")
public void onResizableTextAreaResize(ResizableTextArea.ResizeEvent event) {
    notifications.create().
            withCaption("prevHeight:" + event.getPrevHeight()
                    + "; prevWidth:" + event.getPrevWidth()
                    + "; height:" + event.getHeight()
                    + "; width:" + event.getWidth())
            .show();
}

TextChangeEvent

Validator

См. Validator.

ValueChangeEvent

XML-атрибуты ResizableTextArea

Просматривать и редактировать атрибуты, применимые к компоненту, можно с помощью панели инспектора Jmix UI в конструкторе экранов Studio.

XML-элемент ResizableTextArea