vaadin с открытием нового окна в clcik команды меню - PullRequest
1 голос
/ 13 июля 2011

Я использую пункты меню, которые приведены в демонстрационном примере меню vaadin, по щелчку каждого пункта меню я показываю сообщение с уведомлением, но мое требование заключается в том, что я должен открыть новый класс по щелчку элемента подменю, какой-то один дает мне демонстрационный пример вvaadin как открыть новое окно по нажатию пункта меню

1 Ответ

3 голосов
/ 16 июля 2011

Вот короткий пример, показывающий, как я открываю другое окно верхнего уровня в Vaadin. Вы должны указать уникальное имя для окна (вызов setName). Затем вы звоните Vaadin, чтобы найти URL для вновь созданного окна, а затем открываете его. В этом случае «окно» - это переменная, которая содержит мое основное окно приложения.

reportWindow = injector.getInstance(GeneralReportWindow.class);
reportWindow.setName("report_overview");
reportWindow.setGenerator(injector.getInstance(OverviewGenerator.class));

addWindow(reportWindow);

try {
    URI reportURI = reportWindow.getURL().toURI();
    URL windowURL = new URI(reportURI.getScheme(), 
        reportURI.getUserInfo(), reportURI.getHost(), 
        reportURI.getPort(), reportURI.getPath(), "report=overview", null).toURL();
    window.open(new ExternalResource(windowURL, "_new"));
} catch (Exception e) {
    log.warn("Unable to create report window", e);
}
...