1、教师:钱新杰,组件布局管理,1、在标签Label的构造方法 Label(String,mode)中,String和model分别代表什么意思? 2、组件Checkbox和组件 CheckboxGroup的主要区别是什么? 3、在列表框List构造方法List(int,boolean)中,int和boolean分别代表什么作用? 4、文本域TextField和文本区TextArea的主要区别是什么?,复习提问,掌握五种布局管理器:FlowLayout、GridLayout、GridBagLayout、BorderLayout、CardLayout的用法.,本次学习目标,在Java中,组件的位置布
2、局是由布局管理器来实现的。在java.awt包中共定义了五种布局管理器,他们分别为:FlowLayout、GridLayout、GridBagLayout、BorderLayout、CardLayout,且每种布局管理器对应一种布局策略。,组件布局管理,FlowLayout布局是最简单的、也是容器Panel和它的子类Applet默认使用的布局方式。布局策略为:将容器中的组件按照加入的先后顺序从左向右排列,一行排满之后就转到下一行继续排列,每一行中的组件都居中排列。,FlowLayout,构造方法为:FlowLayout()按默认方式(居中对齐,水平和垂直5个像素间隔)构造一个新的FlowLay
3、out布局。FlowLayout(int)使用指定的对齐方式、水平和垂直5个像素间隔构造一个新的FlowLayout布局。其中对齐方式可以为:LEFT、RIGHT、CENTERFlowLayout(int,int,int)使用指定的对齐方式、水平和垂直间隔构造一个新的FlowLayout布局。,FlowLayout,实例1,FlowLayout,布局策略:BorderLayout布局将容器按地理上的方位分为North、South、West、East 和Center五个区,其中North、South、West和East占据容器的四角, Center占据剩下的空白区。构造方法:BorderLayo
4、ut()按默认的方式(部件间无间隔)构造一个新的 BorderLayout布局。,BorderLayout,BorderLayout(int,int)使用指定的水平间隔和垂直间隔构造一个新的BorderLayout布局。实例2,BorderLayout,布局策略:CardLayout布局将每个组件看成一张卡片,在一个显示区域中可以加入多个卡片,但每一次只有一个是可见的。构造方法:CardLayout()按默认的方式构造一个新的CardLayout布局。CardLayout(int,int)使用指定的水平间隔和垂直间隔构造一个新的CardLayout布局。实例3,CardLayout,布局策略:
5、在GridLayout布局中,将显示区域划分成网格状,每一个部件按添加的顺序从左至右、从上至下占据这些网格。构造方法:GridLayout()使用默认方式创建 GridLayout布局。,GridLayout,GridLayout(int,int)使用指定的行数和列数创建一个GridLayout布局。GridLayout(int,int,int,int)使用指定的行数、列数、水平间隔和垂直间隔创建一个GridLayout布局。实例4,GridLayout,布局策略:GridBagLayout布局是在将显示区域划分为网格的基础上,允许部件占据一个或多个显示单元。 GridBagLayout管理的
6、每个单元部件都有一个相应的GridBagConstraints实例,通过这个实例来安排部件的位置。,GridBagLayout,GridBagConstraints实例变量;a、gridx和gridy设置放置部件的网格单元的坐标。b、gridwidth和gridheight 设置显示区域的宽度和高度c、fill 当显示区域大于部件实际尺寸时,设置如何重新安排部件的大小。可以使用的值有:GridBagConstraints.NONE(默认值)、GridBagConstraints.HORIZONTAL(将部件水平扩充添满显示区域)、GridBagConstraints.VERTICAL(将部件垂
7、直扩充添满显示区域)、 GridBagConstraints.BOTH(将部件水平和垂直扩充添满显示区域)、d、ipadx和idapy设置部件之间的间隔。部件间的水平间隔和垂直间隔分别为ipadx*2、ipady*2,GridBagLayout,e、insets 部件与边缘间的间隔f、anchor当部件的尺寸比显示区域小时,用来设置放置部件的位置。CENTER、NORTH、NORTHEAST、EAST、SOUTHEAST、SOUTH、SOUTHWEST、WEST、NORTHWESTg、weightx、weighty 设置如何分配空白区域。 实例5,GridBagLayout,构造方法:Panel()用默认方式创建Panel对象Panel(LayoutManager)用指定的布局方式创建Panel对象实例6 实例7,面板,本次课主要为大家讲解了图形用户界面开发中的组件的布局管理方法,要求同学们掌握五种布局管理器:FlowLayout、GridLayout、GridBagLayout、BorderLayout、CardLayout的应用。,小 结,实践作业,作业布置,