vaadin打开新窗口点击菜单命令

时间:2011-07-13 13:03:25

标签: menu vaadin

我使用了vaadin菜单演示示例中给出的菜单项,点击了每个显示通知消息的菜单项,但我的要求是我必须在点击子菜单项打开新课,有人给我演示示例vaadin点击菜单项如何打开新窗口

1 个答案:

答案 0 :(得分:3)

这是一个简短的例子,展示了我如何在Vaadin中打开另一个顶级窗口。您必须为窗口提供唯一的名称(setName调用)。然后,您调用Vaadin查找新创建的窗口的URL,然后打开它。在这种情况下,“window”是一个保存我的主应用程序窗口的变量。

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);
}