81布局管理介绍 FlowLayout low layout布局方式是将组件一排一排地依次放置,它自 动调用组件的 get PreferredSizeo方法,使用组件的最佳尺寸来 显示组件。当容器被重新设置大小后,则布局也会随之发生改 变:各组件的大小不变,但相对位置会发生变化。 Flow layout类有三种构造方法: public FlowLayouto 使用缺省居中对齐方式,组件间的水平和竖直间距为缺省值 5个象素。 public FlowLayout(int alignment 使用指定的对齐方式( FlowLayout. LEFT, FlowLayout. RIGHT, FlowLayout Center),水平和竖直间距为缺省值5象素。 public Flow Layout(int alignment, int horizontal Gap, int verticalGap) 使用指定的对齐方式,水平和竖直间距也为指定值
8.1 布局管理介绍——FlowLayout FlowLayout布局方式是将组件一排一排地依次放置,它自 动调用组件的getPreferredSize()方法,使用组件的最佳尺寸来 显示组件。当容器被重新设置大小后,则布局也会随之发生改 变:各组件的大小不变,但相对位置会发生变化。 FlowLayout类有三种构造方法: public FlowLayout() 使用缺省居中对齐方式,组件间的水平和竖直间距为缺省值 5个象素。 public FlowLayout(int alignment) 使用指定的对齐方式(FlowLayout.LEFT,FlowLayout.RIGHT, FlowLayout.Center),水平和竖直间距为缺省值5象素。 public FlowLayout(int alignment, int horizontalGap, int verticalGap) 使用指定的对齐方式,水平和竖直间距也为指定值
import java. awt. i import javax. swing. i class frame flow extends jframe FrameFlow (string name { super(name); Container contenetPane=this getContentPane; Flow Layout flow Layout=new Flow Layout flow Layout. setAlignment( FlowLayout LEFT)//设置布局的对齐方式 flowLayout. setHgap(4) /设置组件的水平间距 flow Layout. setVgap(6); //设置组件的垂直间距 contenetPane. setlayout( flow Layout);//设置容器的布局为 flow Layout for(int i=1;i<=10;i++) contenetPane ado( new JButton("按钮"+i)//把按钮加入容器 contenetPane validated //设置容器有效 setBounds(50, 50, 100, 100); setsize(300, 300); setvisible( true); /设置组件可见 setDefaultCloseOperation( JFrame DISPOSE_ON_ CLOSE)//关闭容口, Example 1.java
import java.awt.*; import javax.swing.*; class FrameFlow extends JFrame { FrameFlow(String name) { super(name); Container contenetPane=this.getContentPane(); FlowLayout flowLayout=new FlowLayout(); flowLayout.setAlignment(FlowLayout.LEFT); //设置布局的对齐方式 flowLayout.setHgap(4); //设置组件的水平间距 flowLayout.setVgap(6); //设置组件的垂直间距 contenetPane.setLayout(flowLayout); //设置容器的布局为flowLayout for(int i=1;i<=10;i++) { contenetPane.add(new JButton("按钮 "+i)); //把按钮加入容器 } contenetPane.validate(); //设置容器有效 setBounds(50,50,100,100); setSize(300,300); setVisible(true); //设置组件可见 setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); //关闭容口, Example8_1 .java
//并结束程序的运行 } public class Example8_1 public static void main(String args) Frameflow frame= new ramelOw(" FlowLayout布局窗口") } Examples 1.iava
//并结束程序的运行 } } public class Example8_1 { public static void main(String args[]) { FrameFlow frame=new FrameFlow("FlowLayout布局窗口"); } } Example8_1 .java
81布局管理介绍 BorderLayout Border layout布局方式提供了更复杂的布局控制方法,它 包括5个区域: North, South, East. West和 Center,其方位依据 上北下南左西右东。当容器的尺寸发生变化时,各组件的相 对位置不变,但中间部分组件的尺寸会发生变化,南北组件 的高度不变,东西组件的宽度不变。 Borderlayout类有二种构造方法: public border layout 各组件间的水平和竖直间距为缺省值0个象素 North public BorderLayout(int horizontalGap, int vertical Gap) 各组件间的水平和竖直间距为指定值。 Center South
8.1 布局管理介绍——BorderLayout BorderLayout布局方式提供了更复杂的布局控制方法,它 包括5个区域:North, South, East, West和Center,其方位依据 上北下南左西右东。当容器的尺寸发生变化时,各组件的相 对位置不变,但中间部分组件的尺寸会发生变化,南北组件 的高度不变,东西组件的宽度不变。 BorderLayout类有二种构造方法: public BorderLayout() 各组件间的水平和竖直间距为缺省值0个象素。 public BorderLayout(int horizontalGap, int verticalGap) 各组件间的水平和竖直间距为指定值。 North South West East Center
81布局管理介绍 BorderLayout 如果容器使用了 Border layout布局方式,则用ad(O方法往容 器中添加组件时必须指明添加的位置,否则组件将无法正确显 示(不同的布局管理器,向容器中添加组件的方法也不同)。 add(West", new button( West) ad( north”, new button(Norh”) add(new Button( West), border layout. SOUTH) 若没有指明放置位置,则表明为默认的“ Center方位。 每个区域只能添加一个组件,若添加多个,则只能显示一个。 如果想在一个区域添加多个组件,则必须先在该区域放一个 Pane容器,再将多个组件放在该Pane容器中 若每个区域或若干个区域没有放置组件,东西南北区域将不 会有预留,而中间区域将置空
如果容器使用了BorderLayout布局方式,则用add()方法往容 器中添加组件时必须指明添加的位置,否则组件将无法正确显 示(不同的布局管理器,向容器中添加组件的方法也不同)。 add(“West”, new Button(“West”)); add(“North”, new Button(“North”)); add(new Button(“West”), BorderLayout.SOUTH); 若没有指明放置位置,则表明为默认的“Center”方位。 每个区域只能添加一个组件,若添加多个,则只能显示一个。 如果想在一个区域添加多个组件,则必须先在该区域放一个 Panel容器,再将多个组件放在该Panel容器中。 若每个区域或若干个区域没有放置组件,东西南北区域将不 会有预留,而中间区域将置空。 8.1 布局管理介绍——BorderLayout