0

我试图在单击处理程序期间打开一个模式窗口以验证用户操作,但在处理程序完成之前该窗口不会出现。窗口代码可以像下面这样简单,但它仍然不会显示,所以它与我的抽象类无关。

    Window w = new Window();
    w.setModal(true);
    w.setImmediate(true);
    // Add components etc etc

    UI.getCurrent().addWindow(w);

我可以将操作代码添加到 Windows OK/Yes 处理程序,但这会阻止我创建通用 Message 类来简化/停止代码重复。

我猜我对 Vaadin/GWT 的工作方式有些不理解(还是个新手!),有人能指出我正确的方向吗?

干杯

4

2 回答 2

1

正确的方向是架构概述https://vaadin.com/book/vaadin7/-/page/architecture.html#architecture.overview

换句话说,您的代码仅从服务器端做出响应,但只有客户端可以显示“模态”窗口。

在您的情况下,您必须为确定按钮单击事件创建处理程序并等待此事件

于 2013-05-03T14:22:07.873 回答
1

对于 UI 的东西,你必须停止考虑顺序编程,最好考虑事件驱动的概念。

对于 Vaadin,您可以创建一个询问是/否问题的对话窗口。在您的应用程序中,您创建此对话框并显示它。并且您附加一个事件处理程序,当用户单击是/否时触发该事件处理程序,然后在此处理程序中您在代码中执行所需的操作。

你也可以看看这个插件

https://vaadin.com/de/directory#addon/confirmdialog

于 2013-05-03T12:29:22.870 回答