对话框

Dialogs 接口用来展示标准的对话框窗口。对话框窗口是一个小的弹出窗口,可以在当前页面叠加展示信息或者 UI 元素。

使用流式接口可以创建和展示对话框,入口方法是 createMessageDialog()createOptionDialog()

消息对话框

使用消息对话框的最基本场景就是为用户展示某些消息。

下面示例中,当用户点击一个按钮时,展示一个消息对话框:

@Autowired
private Dialogs dialogs;

@Subscribe("helloButton")
public void onHelloButtonClick(ClickEvent<Button> event) {
    dialogs.createMessageDialog()
            .withHeader("Information")
            .withText("Hello")
            .open();
}

选项对话框

选项对话框能展示消息和一组用户交互的按钮。

使用 withActions() 方法提供 操作,每个操作都由对话框中的一个按钮展示。示例:

@Autowired
private Dialogs dialogs;

@Subscribe("selectOptionButton")
public void onSelectOptionButtonClick(ClickEvent<Button> event) {
    dialogs.createOptionDialog()
            .withHeader("Please confirm")
            .withText("Do you really want to add a customer?")
            .withActions(
                    new DialogAction(DialogAction.Type.YES)
                            .withHandler(e -> addCustomer()),
                    new DialogAction(DialogAction.Type.NO)
            )
            .open();
}