作为超链接的GWT按钮

作为超链接的GWT按钮,gwt,Gwt,我试图创建一个“打开”按钮,将打开一个新的网站 getURL("new url"); 不幸的是,我不知道如何创建一个打开新网站的活动。 如何将超链接小部件注册到此ClickEvent: Button button = new Button("Open"); button.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { Hyperlink

我试图创建一个“打开”按钮,将打开一个新的网站

          getURL("new url");
不幸的是,我不知道如何创建一个打开新网站的活动。 如何将超链接小部件注册到此ClickEvent:

 Button button = new Button("Open");
 button.addClickHandler(new ClickHandler() {
  public void onClick(ClickEvent event) {  
          Hyperlink widget = new Hyperlink("Home Page", "Home");

             }
 });
 rootPanel.add(button, 568, 275);
          getURL("new url");

提前谢谢

您需要让事件处理程序请求URL更改,而不是让它添加新的小部件

          getURL("new url");
您想在新窗口还是在同一窗口中打开它

          getURL("new url");

一般来说,您可能希望单击处理程序代码使用History类或Window类打开不同的URL和/或操纵浏览器历史

单击按钮时,此代码将在当前窗口中打开链接:

Button button = new Button("Open");
button.addClickHandler(new ClickHandler() {
  public void onClick(ClickEvent event) {
    Window.Location.assign("http://www.someurl.com");
  }
});
rootPanel.add(button);
          getURL("new url");
你不能和我一起做。您应该使用windowassign或类似的简单原生javascript方法来完成

Button button = new Button("Open");
button.addClickHandler(new ClickHandler() {
      public void onClick(ClickEvent event) {  
          Window.Location.assign("new url");
          getURL("new url");

          getURL("new url");
或将锚添加到面板

          getURL("new url");
         Anchor a = new Anchor("new page", "new url");
         RootPanel.get().add(a);
     }
});
rootPanel.add(button, 568, 275);


public static native String getURL(String url)/*-{
        return $wnd.open(url, 'target=_blank')
    }-*/;

GWT是一头野兽…不像我一开始想的那么容易对付。如果我熟悉GWT,我肯定会尽量使用历史类,因为我在Internet Explorer 9中的
$wnd.open(url,'target=_blank')
方法有问题。切换到
Window.Location.assign(url)
为我解决了这个问题。所以,这似乎是一条路要走。