2014-06-14 89 views
2

我只是在做一個簡單的書籤應用程序,並且當我雙擊表格中的書籤時,我想從新選項卡中的URL打開一個網頁。我做了聽衆等待雙擊,但我不知道如何打開一個新的標籤與URL:Vaadin在Web瀏覽器中使用監聽器打開新選項卡

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試過,但是當我向複合,例如這個表它就像我必須雙擊我的桌子項目,之後我必須再次點擊桌子上的任何位置以打開新的選項卡。如何將其改爲簡單的雙擊 - >打開新窗口?

+0

你是如何解決這個問題的?面對類似的問題。 – vvid

+0

試試這個,而不是BrowserWindowOpener:'getUI()。getPage()。open(「http://www.google.com」,「_blank」);' – erwin

+0

@erwin在新窗口中打開頁面 – kukis

回答

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編寫自己的自定義組件。

相關問題