2010-08-25 56 views
3

我想GWT Label它像一個超鏈接。GWT標籤像Hyperink

基本上,標籤應該有一個點擊的方法,當點擊打開一個網站。我不想用IFrame來實現這一點。

有什麼辦法可以做到這一點?

對不起,如果問題很容易解決。

+2

看看這個線程:http://stackoverflow.com/questions/1076616/gwt-link-button。如果您不介意混合使用庫,另一種選擇是使用SmartGWT中的LinkItem。或者,您可以使用gwt附帶的HyperLink。 – 2010-08-25 22:19:11

回答

4

我建議使用Anchor,更具體地說,通過Anchor(java.lang.String text)構造:

創建的腳本錨。根據期望 偵聽器將被添加到錨點,將 錨點的href設置爲javascript:;, 。

所以,你會得到一個很好的醇」 <a>上點擊並不會做任何事,但你可以添加一個ClickHandler給它,因爲這樣的:

Anchor anchor = new Anchor("Click me!"); // At this point clicking it won't do a thing 
anchor.addClickHandler(new ClickHandler() { 
    @Override 
    public void onClick (ClickEvent event){ 
     Window.open("http://www.example.com/", "_blank", ""); // Or open a PopupPanel 
                   // or sth similar 
    } 
}); 

我建議Anchor超過Label爲可訪問性的原因 - 如果它是一個鏈接,那麼它應該是一個<a>,恕我直言。如果您確實需要使用Label,則可以添加ClickHandler,如上所示。