externalResource如何与Vaadin中的mainWindow进行通信

时间:2011-12-07 07:05:32

标签: oauth window vaadin

我有一个vaadin应用程序正在运行,现在,我有一个按钮,通过点击它,它将打开一个externalResource(例如getMainWindow().open(new ExternalResource("http://google.com"), "Google", 800, 600, Window.BORDER_NONE);)。这很好。但主应用程序怎么能知道我什么时候关闭externalResource窗口?我想把Oauth添加到应用程序,当它完成后,用户关闭窗口,应用程序页面应该自动刷新?如果这种方式不起作用,有没有其他方法解决它?谢谢

1 个答案:

答案 0 :(得分:1)

使用getMainWindow()。open(new ExternalResource(...))打开的选项卡不由Vaadin管理,因此在关闭时无法收到通知。

您可以在应用程序中嵌入浏览器框架:

Embedded browser = new Embedded("", new ExternalResource("http://google.com"));
browser.setType(Embedded.TYPE_BROWSER);
main.addComponent(browser);

如果您需要在单独的窗口中,请将该窗口添加到应用程序(而不是主窗口)并打开它:

addWindow(secondWindow);
main.open(new ExternalResource(secondWindow.getURL()), "_new");