2012-11-21 211 views
0

我在GWT一个DockLayoutPanel打开内另一个HTML GWT页面,我已经定义了北,南,西为folloing如何通过点击一个按钮

dockLayoutPanel.addNorth(new HTML("PLACE HOLDER FOR HEADER"), 8); 
dockLayoutPanel.addSouth(new HTML("PLACE HOLDER FOR FOTTER"), 5); 
dockLayoutPanel.addWest(scrollPanel, 50);----scrollPanel is basically a flextable with buttons. 

基本上我想达到的目标是当用户点击flextable中的按钮时,它必须在按钮右侧的同一页面内打开另一个HTML gwt页面(即在同一页面和dockLayoutPanel的中心)。

有人可以帮助我这个。 第一件事是如何在另一个 内嵌入HTML gwt页面,其次是如何通过点击同一页面内的按钮来打开它。

回答

0

据我了解你的问题,你想在一个按钮的帮助下,在GWT应用程序内嵌入一个HTML页面。这是可能的解决方案之一。

  • 首先使用Frame类的GWT创建一个iFrame。
  • Next为按钮添加点击处理程序
  • 在click处理程序的onClick方法中,使用所需的URL(HTML页面的路径)填充创建的iFrame。

IFrame有许多其他潜在的用途。您可以使用它来显示从某个远程服务器访问的数据,即使这些数据与Gwt或Java无关。认为IFrame是一个相框。您可以将彩色照片或黑白照片或纸张放入无关紧要的位置。 IFrame充当门户网站为您显示任何东西。

0

如下所述:https://developers.google.com/web-toolkit/doc/latest/DevGuideUiPanels

Button b = new Button("Click Me"); 
    b.addClickHandler(new ClickHandler() { 
     public void onClick(ClickEvent event) { 
     // handle the click event 
     dockLayoutPanel.add(<Add the page here>) 
    } }); 

一切direktly发生在同一个页面上有阿贾伊请求。

你应该阅读以下教程,以了解mvp模式,这有助于很多。 https://developers.google.com/web-toolkit/articles/mvp-architecture