如何从vaadin中的另一个子窗口打开新子窗口?

如何从vaadin中的另一个子窗口打开新子窗口?,vaadin,Vaadin,我想从另一个子窗口打开一个子窗口。也就是说,我在该窗口中有一个弹出子窗口,我放置了一个按钮。如果我们单击该按钮,另一个弹出子窗口将打开。当我尝试此操作时,我得到一个错误:“java.lang.IllegalArgumentException:您只能在应用程序级窗口中添加窗口。”有人能告诉我如何在vaadin中解决此问题吗。您需要对应用程序的主窗口进行引用,并在其中添加一个子窗口 yourCurrentSubWindow.getApplication().getMainWindow().addWi

我想从另一个子窗口打开一个子窗口。也就是说,我在该窗口中有一个弹出子窗口,我放置了一个按钮。如果我们单击该按钮,另一个弹出子窗口将打开。当我尝试此操作时,我得到一个错误:“java.lang.IllegalArgumentException:您只能在应用程序级窗口中添加窗口。”有人能告诉我如何在vaadin中解决此问题吗。

您需要对应用程序的主窗口进行引用,并在其中添加一个子窗口

yourCurrentSubWindow.getApplication().getMainWindow().addWindow(myNewSubWindow);

希望这有帮助。

只是对以前的解决方案的一个小小的修正:

yourCurrentSubWindow.getApplication().getMainWindow().addWindow(myNewSubWindow);

这些基于div的嵌入式子窗口不能包含子窗口,但主窗口(以及任何其他顶级本机窗口)可以包含子窗口。

在Vaadin 7上,可以按如下方式执行此操作:

getUI().addWindow(myNewSubWindow);

在我的例子中,我对传递给CustomComponent的引用进行了相同的尝试,并尝试从那里添加窗口:reftoapplication.getMainWindow().addWindow(myNewSubWindow);但我也犯了同样的错误。有什么想法吗?