GWT - UiBinder中的docklayout面板

时间:2012-10-05 18:03:51

标签: java gwt uibinder docklayoutpanel

我需要在UiBinder中实现DockLayoutPanel。我知道我们可以使用< G:北> < G:西>在UiBinder中执行与DockLayoutPanel.addNorth(),DockLayoutPanel.addWest()相同的操作。

我的问题是,Uibinder中有什么东西可以和DockLayoutPanel.insertNorth(),DockLayoutPanel.insertWest()做同样的事情吗?

另外,是否有任何官方文件我可以搜索Uibinder命令,以便我可以知道我可以用于uibinder?

感谢。

3 个答案:

答案 0 :(得分:2)

以下是您要找的内容:

<g:FlowPanel>
    <g:DockLayoutPanel ui:field="myPanel">
        <g:west size="300">
            <g:VerticalPanel ui:field="mySideBar" />
        </g:west>
        <g:center>
            <g:VerticalPanel ui:field="myMainPanel" />
        </g:center>
    </g:DockLayoutPanel>
</g:FlowPanel>

答案 1 :(得分:0)

Ui:Binder中没有“命令”。您可以使用窗口小部件和HTML指定布局,并且可以为窗口小部件设置各种属性(如类,宽度,高度,文本,标题,值等)。但是你不能告诉Ui:Binder在一种情况下插入一个小部件,而不是在另一种情况下插入它,例如。您可以在应用代码中执行此操作。

答案 2 :(得分:0)

DockLayoutPanel的add*()insert*()方法都用于子面板的编程运行时添加。 UiBinder并没有做同样的事情&#34;作为那些方法。您直接使用UiBinder的工作仅在设计时间内进行。

UiBinder是一个静态布局工具,一个&#34;快照&#34;在初始化之后立即创建小部件,这是一种描述元素相对于彼此的位置的方法。

使用UiBinder指定的小部件可以在初始化后以编程方式进行操作。假设您已指定以下布局:

 <g:DockLayoutPanel ui:field="myDockPanel">
    <g:north size="100">
        <g:Label ui:field="northernLabel">I am far north</g:Label>
    </g:north>
    <g:center>
        <g:Label ui:field="centerLabel">Center Stage</g:Label>
    </g:center>
</g:DockLayoutPanel>

在您的视图初始化后运行的代码中,您现在可以:

myDockPanel.insertNorth(new Label("I am even farther north!"), 100.0, northernLabel);
  

另外,有没有我可以搜索Uibinder的官方文件   命令,以便我可以知道我可以用于uibinder?

谷歌开发指南section on declarative layout with UiBinder是您可以获得的官方,AFAIK。