Panel是构造一个web网页的基石,它是一种能存放其它widget(小部件)的widget,GWT中给我们提供了各式各样的panel,本篇就其中常用的panel作一个简单的说明,具体实例请参考GWT API(http://download.csdn.net/source/2202425)
com.google.gwt.user.client.ui.Panel
:所有panel的抽象父类
com.google.gwt.user.client.ui.AbsolutePanel
:通过绝对位移来确定其子部件的位置,子部件可重叠
com.google.gwt.user.client.ui.CaptionPanel
:
com.google.gwt.user.client.ui.ComplexPanel
:所有可以存放多个子部件的部件的抽象父类
com.google.gwt.user.client.ui.CellPanel
:其每个子部件被放在一个表的单元格中,每个单元格的大小可以独立设置,每个子部件占据一个单元格,且可以在单元格内设置各种对齐方式。
com.google.gwt.user.client.ui.DockPanel
:将其子部件停靠在他的边缘,并允许它的最后一个部件占据它中心的剩余空间。
com.google.gwt.user.client.ui.DockLayoutPanel
:同DockPanel
,不过它只能在标准模式下工作(必须在运行的html页面显式声明<!DOCTYPE>,所有带有layout都是如此)
com.google.gwt.user.client.ui.FlowPanel
:用默认的html布局行为格式化其子部件
com.google.gwt.user.client.ui.FormPanel
:顾名思义,用来进行form提交的panel
com.google.gwt.user.client.ui.HorizontalPanel
:水平放置其子部件的panel,继承自cellpanel
com.google.gwt.user.client.ui.HorizontalSplitPanel
:在其里面可以水平的放置两个子部件,这两个子部件用一条竖直的分割线隔开,可以通过拖动分割线来改变这两个部件的大小
com.google.gwt.user.client.ui.HTMLPanel
:可以在里面添加html代码的panel,使用率非常高
com.google.gwt.user.client.ui.LazyPanel
:为类的延迟加载提供方便,在方法setVisible(boolean)(true)和ensureWidget() 调用后才会被实例化
com.google.gwt.user.client.ui.PopupPanel
:可以从其他部件中冒出来,其实实现了一个弹出层效果
com.google.gwt.user.client.ui.RootPanel
:从root你也可以猜到这是所有部件的根panel,不管你创建了一个什么样的部件组,最终都要将这个部件组添加到一个RootPanel中,RootPanel不直接实例化,而是通过一个get方法来获取其实例,使用率100%
com.google.gwt.user.client.ui.ScrollPanel
:将其子部件包含在一个滚动区域
com.google.gwt.user.client.ui.SimplePanel
:只能包含一个部件的面板的抽象父类,看到这里你应该注意哪些panel只能包含一个部件
com.google.gwt.user.client.ui.SplitLayoutPanel:
用法同DockLayoutPanel,只不过在各个部件间增加了分隔条
com.google.gwt.user.client.ui.StackLayoutPanel
:将其所有子部件垂直叠放,只显示其中的一个,可以通过点击每个子部件的头部来切换显示
com.google.gwt.user.client.ui.StackPanel
:同StackLayoutPanel
com.google.gwt.user.client.ui.TabPanel
:用来实现标签式页面,每个标签页内都包含一个子部件,它的标签内可以包含任意的html代码,当用户选择不同的标签时会显示不同的内容。需要注意的是它本身并不是一个panel,而是一个集成了TabBar和DeckPanel的组合(Composite)
com.google.gwt.user.client.ui.VerticalPanel
:同HorizontalSplitPanel
com.google.gwt.user.client.ui.VerticalSplitPanel
:这个也不用解释