我正在用gwt移动我的第一步,以创建一个简单的网站。 我正在尝试使用gwt平台和gwt设计器来创建布局。 网站非常简单,很多页面都有相同的布局,只有中间的内容不同,所以我有一个“精彩”的想法:为什么不以复合形式创建一般布局并添加到这个复合的中间是一个简单的面板,所以你可以在每个页面中添加不同的内容。 我创建了复合材料,我在其中放置了一个简单的面板,但即使我暴露了小部件,当我创建其他ui-binder视图时,gwt设计器也不允许我在此面板中添加任何其他小部件。 我忘记了什么吗? 很多
答案 0 :(得分:0)
我不确定您是否应该尝试为此目的创建自己的Composite
小部件。您所描述的是完全为DockLayoutPanel
创建的内容。基本上,你想要一个(相对)常数north
(可能是徽标,可能是导航),south
(某种类型的页脚),也可能east
/ west
用于侧边栏或者你有什么,以及center
更改以显示“当前页面”。有很多DockLayoutPanel
以这种方式使用的例子 - 即使the Javadoc也很棒。您可以轻松地将面板添加到center
,并将该面板用作“主面板”。
如果你想创建自己的Composite
小部件,它可以让GWT Designer使用一些任意子窗口小部件和,你就会有很多工作要做。< / p>
答案 1 :(得分:0)
如果你想让UiBinder中使用的Composite行为类似于面板,你必须为它创建一个自定义元素解析器,但问题是在GWT中没有公共API可以做到这一点(截至2.4.0)。也许gwt-customuibinder可以帮助解决这个问题。另一种方法是实施HasWidgets,因为内置parser。