布局管理

package frank;
import java.lang.*;
import java.awt.*;
import static java.awt.BorderLayout.*;
import javax.swing.BoxLayout;

/**
 * 布局管理
 * */
public class App
{
	public static void main(String[] args)
	{
		Frame f = new Frame("测试窗体");//创建一个窗体,默认布局是BorderLayout布局器

		/**
		 * 之FlowLayout,有点类似于记事本里面输入文字,当输入到末尾的时候就会自动切换到下一行。
		 * */
		/*
		//更换Frame的默认布局
		f.setLayout(new FlowLayout(FlowLayout.LEFT,20,5));//设置组件排列方向、水平间距,垂直间距。
		for(int i =0;i<=10;i++)
		{
			f.add(new Button("按钮"+i));//添加组件到Frame
		}
		*/

		/**
		 *BorderLayout布局,五个区域,所以最多只能放置5个组件,如果有个区域没有放置组件,那么会自动的已添加的组件填充到空白地方,从而使布局好看点,当然我们可以在指定的区域放置Panel容器,这样就可以放置更多组件了。
		 * */
		/*
		f.setLayout(new BorderLayout(30,5));
		f.add(new Button("南"),SOUTH);
		f.add(new Button("北"),NORTH);
		f.add(new Button("中"));//默认是中
		f.add(new Button("东"),EAST);
		f.add(new Button("西"),WEST);*/
		
		/**
		 * GridLayout布局管理器,网格布局,以网格形式布局。
		 * 下面计算器Frame使用的是BorderLayout,然后里面的组件又使用GridLayout布局,就是嵌套布局器,实际上大部分程序都是嵌套布局器。
		 */
		/*
		f = new Frame("计算器");
		Panel pl = new Panel();
		pl.add(new TextField(30));
		f.add(pl,NORTH);//把pl容器添加到frame上面
		Panel p2 = new Panel();
		p2.setLayout(new GridLayout(3,5,4,4));//设置,行,列,横向间距,纵向间距
		String[] name = {"0","1","2","3","4","5","6","7","8","9","+","-","*","/","."};
		for(int i = 0;i<name.length;i++)
		{
			p2.add(new Button(name[i]));
		}
		f.add(p2);
		*/
		/**
		 * swing为AWT扩展类,保留了一些AWT的特性
		 * */
		/*
		f.setLayout(new BoxLayout(f,BoxLayout.Y_AXIS));//垂直布局
		//创建两个垂直布局的按钮
		f.add(new Button("第一个按钮"));
		f.add(new Button("按钮二"));
		*/
		f.pack();//设置窗体为最佳大小
		f.setVisible(true);
	}
}

  

posted on 2013-10-26 13:45  wp456  阅读(188)  评论(0)    收藏  举报

导航