54.swing布局管理.pptxVIP

  • 7
  • 0
  • 约2.13千字
  • 约 16页
  • 2017-03-01 发布于广东
  • 举报
swing布局管理学习目标掌握常用的swing布局布局的概念布局是指组件在容器中的排列方式,主要有:FlowLayout 流式布局BorderLayout 边界布局GridLayout 网格布局CardLayout 卡片布局BoxLayout 盒式布局GridBagLayout 网格包布局null空布局(不使用布局)注:对于一些复杂的情况,往往需要使用容器的嵌套,各容器可使用不同的布局。当容器的尺寸改变时,布局管理器会自动调整组件的排列FlowLayout该布局以行为单位依次排列各组件,一行排不下时,另起一行JPanel的默认布局是FlowLayout构造方法FlowLayout();FlowLayout(int align);//align一般取值有:CENTER、LEFT、RIGHTFlowLayout(int align,int hgap,int vgap);//hgap和vgap指定组件与容器起始边界以及组件间的水平和垂直间距,默认值为5个像素例如:FlowLayout layout = new FlowLayout(FlowLayout.LEFT, 10, 10);FlowLayout布局的使用创建FlowLayout布局对象FlowLayout l = new FlowLayout();创建容器对象JPanel panel = new JPanel();设置容器对象的布局或使用默认布局panel.setLayout(l);向容器中添加组件对象(设组件对象已创建)panel.add(组件对象);FlowLayout布局的使用例如,setLayout(new FlowLayout(FlowLayout.LEFT, 10, 20));缺点:当用户对由FlowLayout布局管理的区域进行缩放时,布局发生变化。该布局适用于组件个数较少的情况。BorderLayout按照东、西、南、北、中5个方位排列各组件顶层容器JFrame、JApplet、JDialog、JWindow的默认布局都是BorderLayoutBorderLayout构造方法BorderLayout();BorderLayout(int hgap,int vgap);//hgap和vgap指定组件间的水平和垂直间距,默认值为0个像素例如:BorderLayout lay1 = new BorderLayout(); BorderLayout lay2 = new BorderLayout(10, 10);BorderLayout布局的使用创建BorderLayout布局对象BorderLayout l = new BorderLayout();创建容器对象JPanel panel = new JPanel();设置容器对象的布局或使用默认布局panel.setLayout(l);向容器中添加组件对象(设组件对象已创建) panel.add(组件对象,方位);//方位的取值为:BorderLayout.EAST或 “East”BorderLayout.WEST或 “West”BorderLayout.SOUTH或 “South”BorderLayout.NORTH或 “North”BorderLayout.CENTER 或 “Center”(默认)BorderLayout布局的使用缺点:当加入的组件超过5个时,就必须使用容器的嵌套或其它布局。优点:当容器缩放时,组件相应的位置不变化,但大小改变。示例: 边界布局示例GridLayout按照二维网格以相同大小依次排列各组件构造方法GridLayout();//一行、每个组件一列GridLayout(int rows,int cols);//行列数GridLayout(rows,cols,int hgap,int vgap);//行行、列列的间距,默认值为0个像素例如:GridLayout lay1 = new GridLayout(3,3); GridLayout lay2 = new GridLayout(5,2,10,10);布局的使用创建GridLayout布局对象GridLayout l = new GridLayout(2,2);创建容器对象JPanel panel = new JPanel();设置容器对象的布局或使用默认布局panel.setLayout(l);向容器中添加组件对象(设组件对象已创建)panel.add(组件对象);GridLayout优点:组件的相应位置不随区域的缩放而改变,只是组件的大小改变。该布局适用于组件个数较多的情况。NULL不使用任何布局管理器,一般不使用该方式空布局的使用创建容器对象JPanel panel = new JPanel();设置容器

文档评论(0)

1亿VIP精品文档

相关文档