2010-08-25 57 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,如上所示。