首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GWT将FlowPanel视为HTML -为什么?

GWT将FlowPanel视为HTML -为什么?
EN

Stack Overflow用户
提问于 2013-10-03 22:17:02
回答 2查看 793关注 0票数 0

我试图做一些非常简单的事情,使用uiBinder创建一个基于div的布局。布局的中心是几个标签,一些TextBoxes和一个图像。我想要的输出是:

代码语言:javascript
复制
           ____________________
 Label 1   | box 1            |
           --------------------
           ____________________
 Label 2   | box 2            |
           --------------------
                      _________
 Label 3              |       |
 Label 4              | image |
                      ---------

由于标签和图像是GWT小部件,所以我不能直接使用div,所以我使用的是FlowPanel。FLowPanel的文档表明它可以包含小部件。但是,当我编译下面的代码时,它会抛出错误

不允许在HTML上下文中: (:10)

拜托,有人能指出我在哪里傻吗?

谢谢,理查德

代码语言:javascript
复制
<ui:with field='res' type='com.this.that.wf.portal.flip.client.ui.Resources' />
<FlowPanel>
  <FlowPanel addStyleNames="{res.css.itemDetailsInput}">
    <FlowPanel addStyleNames="{res.css.itemDetailsInputCol1}">
      <g:Label>Label 1</g:Label>
      <g:Label>Label 2</g:Label>
    </FlowPanel>
    <FlowPanel addStyleNames="{res.css.itemDetailsInputCol2}">
      <g:TextBox ui:field="Box1"></g:TextBox>
      <g:TextBox ui:field="Box2"></g:TextBox>
    </FlowPanel>
  </FlowPanel>
  <FlowPanel addStyleNames="{res.css.itemDetailsOutput}">
    <FlowPanel addStyleNames="{res.css.itemDetailsOutputCol1}">
      <g:Label>Label 3</g:Label>
      <g:Label>Label 4</g:Label>
    </FlowPanel>
    <FlowPanel addStyleNames="{res.css.itemDetailsOutputCol2}">
      <g:Image url="http://www.someimage.com/generic.jpg"
               ui:field="itemImage"
               title="Item" altText="My alt"/>
    </FlowPanel>
  </FlowPanel>
</FlowPanel>

我的css看起来如下:

代码语言:javascript
复制
    .itemDetailsInput {
    display: table;
    width: 500px;
    margin: 5px;
    width: 100%;
    padding: 3px 5px 3px 5px;
  }

  .itemDetailsInputCol1{
    display: table-cell;
    width: 20%;
    padding: 1em;
    position: relative;
    left: auto;
  }

  .itemDetailsInputCol2 {
    width: 80%;
    display: table-cell;
    padding: 1em;
    position: relative;
  }

  .itemDetailsOutput {
    display: table;
    width: 500px;
    margin: 5px;
    width: 100%;
    padding: 3px 5px 3px 5px;
  }

  .itemDetailsOutputCol1{
    display: table-cell;
    width: 60%;
    padding: 1em;
    position: relative;
    left: auto;
  }

  .itemDetailsOutputCol2 {
    width: 40%;
    display: table-cell;
    padding: 1em;
    position: relative;
  }
EN

回答 2

Stack Overflow用户

发布于 2013-10-04 04:03:39

这就是流动面板的目的。

根据文档对流面板的描述如下

代码语言:javascript
复制
A panel that formats its child widgets using the default HTML layout behavior.

如果使用多个流面板或水平面板和流面板的组合,则可以轻松获得预期的结果。

票数 0
EN

Stack Overflow用户

发布于 2013-10-04 15:58:33

我真是个白痴。在花了几个小时看这段代码之后,我意识到我错过了“FrowPanel”前面的“g:”。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19170128

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档