stackpanel和stacklayoutpanel之间的区别

时间:2012-10-07 21:16:40

标签: gwt

我无法理解两者之间的区别。

在哪种情况下应该使用哪一种?

任何优点缺点?

代码http://gwt.google.com/samples/Showcase/Showcase.html#!CwStackPanel以及stacklayoutpanel和description看起来相同

2 个答案:

答案 0 :(得分:2)

如果您阅读javadocs,您将看到StackPanel仅在quirks模式下工作,而StackLayoutPanel仅在标准模式下工作。它们功能相同,但您需要根据应用程序运行的模式选择其中一种。

答案 1 :(得分:1)

在理解了GWT Java和Java的古怪之后,我一直主张  在编写GWT Java时,你需要承认你实际上是用Javascript编程的态度......

学习GWT时要理解的第一个概念是理解ProvideResize / RequiresResize接口的目的和功能。

ResizeLayoutPanel inside DisclosurePanel using GWT

GWT or not for enterprise apps

StackLayoutPanel属于ProvideResize / RequiresResize的框架。

如果您使用像StackPanel这样的非布局面板,则必须编制自己的调整大小框架,或者至少尝试在其中实现这些接口,这可能涉及调度和去抖操作,以便为用户提供愉快的体验

如果您的用户界面很简单,并且不包含复杂且深层次的面板和小部件层次结构,则可以使用非布局面板。

为了允许布局面板的功能,您需要将主机页面置于标准模式下。因此,说layoutpanels和非layoutpanels之间的差异是标准模式不是一个准确的图片,因为你需要知道具有ProvideResize / RequiresResize接口背后的动机。

https://developers.google.com/web-toolkit/doc/latest/DevGuideUiPanels#Resize

我猜怪怪模式是允许浏览器页面在过时的古怪模式下运行,每个人都试图取悦每个人关于HTML应该如何表现的古怪个人主义思想(微软是关于HTML怪癖的最好战的实践者)。

什么是标准模式:

https://developers.google.com/web-toolkit/doc/latest/DevGuideUiPanels#Standards