stackPanel扩大?

时间:2014-03-25 14:17:16

标签: java gwt stackpanel

我有一个像http://gwt.googleusercontent.com/samples/Showcase/Showcase.html#!CwStackLayoutPanel

这样的普通堆叠面板

但不,我不想要,当我展开另一个时,我的其他小部件会崩溃。

就像在smartgwt中一样:

http://www.smartclient.com/smartgwt/showcase/#layout_sections_expand_collapse

1 个答案:

答案 0 :(得分:0)

不幸的是,没有简单的解决方案可以满足您的所有需求。我最近深入探讨了这个问题,这些是我提出的选项。

编写/修改您自己的组件

您可以尝试扩展StackLayoutPanel以添加所需的功能。动画方法在最新版本中是公开的(它不在2.0中),但您必须添加一些调整以跟踪哪些面板被扩展。将它简单地用作新窗口小部件的基础可能更容易。源代码here

优点:可以保证确切的功能并按需修改。

缺点:需要深入的知识和开发时间。

DisclosurePanel堆叠在VerticalPanel

如果您需要使用标准小部件,这是最接近的GWT。 DisclosurePanel允许您拥有一个标题窗口小部件,单击该窗口小部件时,可以展开或隐藏内容窗口小部件。如果多个堆叠在一起,您可以同时打开多个。

但是,披露面板不会调整其内容的大小以适应受限制的空间。如果它们对于所提供的空间而言太大,则会将更多的DisclosurePanel推出视野。如果你不介意滚动查看其他标题,这很好。

优点:使用标准GWT组件并易于实施。

缺点:根据展开的部分内容的长度,并非所有标题可能同时显示。

使用StackLayoutPanel

优点:使用标准GWT组件并易于实施。所有标题始终可见。

缺点:一次只能显示一个部分。

使用第三方组件

SmartGWT让人想起。 ;)

优点:您可以获得所需的确切功能。

缺点:必须使用可能有问题的第三方组件或为您的代码添加其他不必要的膨胀。