布局管理
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); } }