对齐GXT表单:FieldLabel及其gwt:Label小部件

时间:2013-05-06 21:00:53

标签: java gwt field gxt

仅限GXT 3.x。

让我们说我希望创建一个布局的gxt字段对

  

标签:价值

例如,

  

姓名:Carthyguessue

其中“Carthyguessue”是一个不能由用户更新的常量字段,我使用gwt:Label来影响。

因此ui模板:

<form:FieldLabel ui:field="nameLabel" text="Name" labelWordWrap="false">
  <form:widget>
     <g:Label ui:field="nameValue" />
  </form:widget>
</form:FieldLabel>

但是,正如所有人都知道的那样,在nameLabel和nameValue的垂直偏移之间会出现~3px的缺陷。

一种建议的方法是hijack the gwt-Label css来定义偏移量。但是,如果我不能这样做,因为CSS完全是由另一个部门完成的。

因此,我发现这是有用的。

<form:FieldLabel text="Name" labelWordWrap="false">
  <form:widget>
    <container:VerticalLayoutContainer>
      <g:Label height="3px"/>
      <g:Label ui:field="nameValue" />
    </container:VerticalLayoutContainer>
  </form:widget>
</form:FieldLabel>

我的问题

  • 这种方法会遇到哪些问题/问题? (我还没有意识到)。
  • 有更好的非css解决方案吗?
  • 好吧,不太重要的是,为什么gxt人不会提供匹配的Label小部件(没有被禁用的灰色文本字段模拟的恼人边界),因为我们仍然必须使用gwt:Label来达到这个目的?

1 个答案:

答案 0 :(得分:2)

1)更好的方法是创建自定义CSS类并将名称设为<g:Label ui:field="nameValue" />,以便将来很容易更改。

2)没有其他好的解决方案。因为这是一个CSS问题,所以你必须通过CSS解决它。您应该为此创建自己的小部件。

GWT中的标签小部件只是呈现为DIV而不是HTML的标签元素,导致它以块布局显示。