3.5.2.1.33. 弹窗查看控件

在线示例

API 文档

PopupView 是一个允许用容器打开弹出窗口的控件。可以通过单击简要值或以编程方式打开弹窗。可以通过鼠标移出或点击外部区域来关闭弹窗。

典型的 PopupView 如下所示:

Popup hidden

Figure 18. 弹窗隐藏状态

Popup visible

Figure 19. 弹窗打开状态

从本地化消息包中获取简要值的 PopupView 的示例:

  1. <popupView id="popupView"
  2. minimizedValue="msg://minimizedValue"
  3. caption="PopupView caption">
  4. <vbox width="60px" height="40px">
  5. <label value="Content" align="MIDDLE_CENTER"/>
  6. </vbox>
  7. </popupView>

PopupView 的内部内容应该是一个容器,例如 BoxLayout

PopupView 方法:

  • setPopupVisible() 允许以编程方式打开弹窗。

    1. @Inject
    2. private PopupView popupView;
    3. @Subscribe
    4. protected void onInit(InitEvent event) {
    5. popupView.setMinimizedValue("Hello world!");
    6. }
  • setMinimizedValue() 允许以编程方式设置简要值。

    1. @Inject
    2. private PopupView popupView;
    3. @Override
    4. public void init(Map<String, Object> params) {
    5. popupView.setMinimizedValue("Hello world!");
    6. }
  • addPopupVisibilityListener(PopupVisibilityListener listener) 方法可用来添加一个跟踪弹窗可见性变化的监听器。

    1. @Inject
    2. private PopupView popupView;
    3. @Inject
    4. private Notifications notifications;
    5. @Subscribe
    6. protected void onInit(InitEvent event) {
    7. popupView.addPopupVisibilityListener(popupVisibilityEvent ->
    8. notifications.create()
    9. .withCaption(popupVisibilityEvent.isPopupVisible() ? "The popup is visible" : "The popup is hidden")
    10. .withType(Notifications.NotificationType.HUMANIZED)
    11. .show()
    12. );
    13. }

PopupView 的属性:

  • minimizedValue 属性定义弹窗按钮的简要值文本。此文本可包含 HTML 标记。
  • 如果 hideOnMouseOut 属性设置为 false,在弹窗外部单击时会关闭弹窗。

popupView 的属性

caption - captionAsHtml - contextHelpText - contextHelpTextHtmlEnabled - css - description - descriptionAsHtml - box.expandRatio - height - hideOnMouseOut - icon - id - minimizedValue - stylename - visible - width

API

addPopupVisibilityListener