像屏幕一样创建GWT iFrame

时间:2013-11-21 09:16:04

标签: java android google-app-engine gwt iframe

我一直在使用Java + GAE(1.8.6)+ GWT(2.5.1)开发应用程序,现在,根据我的客户端的要求,我需要创建一个分为两部分的屏幕布局(25%) ,75%),在左侧选项,在屏幕的另外75%,点击选项的结果(如设置为iFrame的屏幕)。

我尝试使用添加了西部和中间面板的DockLayoutPanel,但我无法加载放置在中心面板上西部面板中的每个链接的内容。

我一直在谷歌寻求解决方案或一些代码来适应我的需求,但到目前为止我还没有取得多大成功。

¿你能帮帮我吗?我还买了Manning ed的GWT in Action。但在那里找不到这件事。

与此同时,我将继续四处寻找/试图找到自己的解决方案。

提前谢谢你,

亲切的问候,

1 个答案:

答案 0 :(得分:0)

我发现的解决方案是:

//define framedPanel for later use
private FramedPanel fupanel;

//Instantiate the widget i want to add when the option is clicked
final FileUp fileUp = new FileUp();

//Create the HtmlLayoutContainer in which add the widget later on

HtmlLayoutContainer conEnlaces = new HtmlLayoutContainer(getTablaEnlaces());

public Widget asWidget() {
    if (fupanel == null) {
        fupanel = new FramedPanel();
        fupanel.setHeadingText("Administración");
        (some other code here)

      VerticalLayoutContainer p = new VerticalLayoutContainer();      

      conEnlaces.setWidth(Window.getClientWidth());

      fupanel.add(p);

      p.add(conEnlaces);

      Hyperlink fileUph = new Hyperlink();
      fileUph.setText("- Importación de CSV");
      conEnlaces.add(fileUph, new HtmlData(".fileUph"));  

      filexh.addClickHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {
            conEnlaces.add(filex, new HtmlData(".resultado"));

        }
    });

        fupanel.add(conEnlaces);
    }
    return fupanel;
  }

private native String getTablaEnlaces() /*-{
  return [ '<table border="0" cellspacing="0" cellpadding="0">',
      '<tr><td>',
      '<table border="0" width="75%">',
      '<tr><td class=fileUph></td></tr>',     
      '</table></td>',
      '<td><table border="0" style="margin-left: 25px;">',
      '<tr><td class=resultado></td></tr>',
      '</table>',
      '</td></tr></table>'
  ].join("");
}-*/;               

public void onModuleLoad() {
    RootPanel.get().add(asWidget());
  }

像这样我的问题已经解决了。我向你展示了我的代码,因为我在使用stackoverflow论坛时生气,人们说已经达成了解决方案,但没有解释如何。

感谢您的回复和时间,