PopupView
Основы
В свернутом состоянии значение атрибута minimizedValue
отображается на экране в виде интерактивной ссылки, открывающей всплывающее окно.
Например:
<popupView caption="PopupView example, just "
minimizedValue="click me!">
<vbox width="100px" height="50px" >
<label value="Thank you!" align="MIDDLE_CENTER"/>
</vbox>
</popupView>
По умолчанию hideOnMouseOut="true"
, поэтому всплывающее окно закрывается, как только указатель мыши перемещается за его пределы. Чтобы окно закрывалось кликом по внешней области, установите значение данного атрибута в false
:
<popupView minimizedValue="click me!"
hideOnMouseOut="false">
<vbox width="100px" height="50px" >
<textField caption="Text Field"/>
<button caption="Button"/>
</vbox>
</popupView>
Положение всплывающего окна
Существуют следующие методы для установки положения всплывающего окна:
-
setPopupPosition(PopupPosition position)
- устанавливает положение всплывающего окна, используя следующие стандартные значения:-
DEFAULT
- располагает popup в середине минимизированного значения. -
TOP_LEFT
-
TOP_CENTER
-
TOP_RIGHT
-
MIDDLE_LEFT
-
MIDDLE_CENTER
-
MIDDLE_RIGHT
-
BOTTOM_LEFT
-
BOTTOM_CENTER
-
BOTTOM_RIGHT
@Autowired private PopupView popupView; @Subscribe public void onInit(InitEvent event) { popupView.setPopupPosition(PopupView.PopupPosition.TOP_CENTER); }
-
-
setPopupPosition(int top, int left)
- устанавливает значенияtop
иleft
. -
setPopupPositionTop(int top)
- устанавливает значениеtop
. -
setPopupPositionLeft(int left)
- устанавливает значениеleft
.
Слушатели и события
Чтобы сгенерировать заглушку слушателя в Jmix Studio, выберите компонент в XML-дескрипторе экрана или на панели иерархии Jmix UI и используйте вкладку Handlers на панели инспектора Jmix UI. В качестве альтернативы вы можете воспользоваться кнопкой Generate Handler на верхней панели контроллера экрана. |
PopupVisibilityEvent
PopupVisibilityEvent
отправляется, когда пользователь открывает или закрывает всплывающее окно.
@Autowired
private Notifications notifications;
@Subscribe("popupView")
public void onPopupViewPopupVisibility(PopupView.PopupVisibilityEvent event) {
notifications.create()
.withCaption(event.isPopupVisible() ?
"The popup is visible" : "The popup is hidden")
.withType(Notifications.NotificationType.HUMANIZED)
.show();
}
Чтобы создать слушателя события программно, используйте метод компонента addPopupVisibilityListener()
.
Все XML-атрибуты
Просматривать и редактировать атрибуты, применимые к компоненту, можно с помощью панели инспектора Jmix UI в конструкторе экранов Studio. |
align - box.expandRatio - caption - captionAsHtml - colspan - contextHelpText - contextHelpTextHtmlEnabled - css - description - descriptionAsHtml - enable - height - hideOnMouseOut - htmlSanitizerEnabled - icon - id - minimizedValue - responsive - rowspan - stylename - tabIndex - visible - width