Как внешний ресурс может общаться с mainWindow в Vaadin - PullRequest
2 голосов
/ 07 декабря 2011

У меня запущено приложение vaadin, и теперь у меня есть кнопка, нажав на которую, она откроет externalResource (например, getMainWindow().open(new ExternalResource("http://google.com"), "Google", 800, 600, Window.BORDER_NONE);). Это работает нормально. Но как основное приложение может узнать, когда я закрываю это окно externalResource?«Дело в том, что я хочу добавить Oauth в приложение, и когда это будет сделано, пользователь закроет окно, страница приложения должна автоматически обновиться». Если этот способ не работает, есть ли другие способы решить эту проблему? Спасибо

1 Ответ

1 голос
/ 07 декабря 2011

Вкладка, открываемая с помощью 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");
...