如何在vaadin中等待带有消息框的选项?

时间:2017-03-13 22:38:30

标签: messagebox vaadin7

我对Vaadin和网络应用程序并不陌生。我在使用Vaadin插件Steinwedel从MessageBox获取所选选项(简单的是或否)时遇到问题。

我需要等待客户端说“是”或“否”,然后运行我的代码,就像在java JOption中一样。我有一个MessageBox的类,它返回选项:

int option = MessageBox.showDialog (message, title, QUESTION_YES_NO_OPTION);

但即使我打开MessageBox,我的代码也会一直运行。

1 个答案:

答案 0 :(得分:4)

与传统的桌面GUI框架(如Swing)不同,使用Vaadin,您主要在服务器端编程,并从客户端(具有用户交互的浏览器)收听事件。因此,显示一个对话框不会阻止服务器端代码,因为来自客户端的(HTTP)请求的答案将不会被发送。相反,您应该显示对话框并听取对话框按钮的单击事件。

MessageBox
    .createInfo()
    .withCaption("Info")
    .withMessage("Hello World!")
    .withOkButton(() -> System.out.println("Ok pressed."))
    .open();

该示例取自附加说明。在这里,他们使用println处理了OK按钮单击。