Vaadin使用监听器在Web浏览器中打开新选项卡

时间:2014-06-14 14:04:06

标签: java tabs window listener vaadin

我正在做一个简单的书签应用程序,当我双击桌面上的书签时,我想从新标签页中的URL打开一个网页。我让听众等待双击,但我不知道如何用URL打开一个新标签:

table_1.addListener(new ItemClickEvent.ItemClickListener() {
            public void itemClick(ItemClickEvent event) {
                if (event.isDoubleClick()) {
                    System.out.println("double click");
                    BrowserWindowOpener open = new BrowserWindowOpener(new ExternalResource("http://www.google.com"));

                }
            }
        });

我尝试使用BrowserWindowOpener,但是当我扩展一个复合时,例如这个表就像我必须双击我的表项一样,然后我必须再次点击桌子上的任何地方来打开新的标签。如何将其更改为简单的双击 - >打开新窗口?

1 个答案:

答案 0 :(得分:0)

我担心你必须使用Javascript。

    VerticalLayout layout = new VerticalLayout();
    layout.setWidth("200px");
    layout.setHeight("200px");
    layout.addLayoutClickListener(new LayoutClickListener()
    {
        @Override
        public void layoutClick(LayoutClickEvent event)
        {
            if(event.isDoubleClick()){
                JavaScript.eval("var win = window.open('http://www.penny4nasa.org', '_blank');win.focus();");
            }
        }
    });
    setContent(layout);

第二种方法是使用GWT编写自己的自定义组件。