小杜想说:这些都是本人自学的练习,纯属分享,有问题大家可以一起探讨 

FlowLayout:流式布局

java 好看的窗口界面_Layout

import java.awt.Button;
import java.awt.Frame;

public class FlowLayout {
	private static int LEFT;
	private static int RIGHT;

	public static void main(String[] args) {
		//1.创建一个window对象
		Frame frame=new Frame("这里是测试FlowLayout流式布局");
		//2.通过setLayout方法设置容器的布局管理器
		//frame.setLayout(new FlowLayout((FlowLayout.LEFT), 20, 20));
		
		//右对齐
		frame.setLayout(new java.awt.FlowLayout((FlowLayout.RIGHT), 20, 20));
		//左对齐
		//frame.setLayout(new java.awt.FlowLayout((FlowLayout.LEFT), 20, 20));
		//3.添加多个按钮到frame中
		for(int i=0;i<100;i++){
			frame.add(new Button("按钮"+1));
		}
		//4.设置最佳大小,pack方法
		frame.pack();
		//设置window的可见
		frame.setVisible(true);
	}
}

 BorderLayout:NORTH,SOUTH,WEST,EAST,CENTER

java 好看的窗口界面_java 好看的窗口界面_02

 

import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Frame;

public class BorderLayoutDemo {
	public static void main(String[] args) {
		Frame frame =new Frame("这里演示BorderLayoutDemo");
		//给frame设置BorderLayout布局管理器
		frame.setLayout(new BorderLayout(30,10));
		
		//往frame指定区域添加组件
		frame.add(new Button("北侧按钮"),BorderLayout.NORTH);
		frame.add(new Button("南侧按钮"),BorderLayout.SOUTH);
		frame.add(new Button("中间按钮"),BorderLayout.CENTER);
		frame.add(new Button("西侧按钮"),BorderLayout.EAST);
		frame.add(new Button("东侧按钮"),BorderLayout.WEST);
		//最佳大小,pack()方法
		frame.pack();
		
		frame.setVisible(true);
	}
}

java 好看的窗口界面_java_03

 

public class BorderLayoutDemo2 {
	public static void main(String[] args) {
		Frame frame =new Frame("这里演示容器Box中的默认组件BorderLayoutDemo");
		//创建一个水平排列组件的Box容器
		Box hBox =Box.createHorizontalBox();		
		//往当前容器中添加两个按钮
		hBox.add(new Button("水平按钮1"));
		hBox.add(new Button("水平按钮2"));
		//创建一个垂直排列组件的Box容器
		Box vBox=Box.createVerticalBox();		
		//往当前容器中添加两个按钮
		vBox.add(new Button("垂直按钮1"));
		vBox.add(new Button("垂直按钮2"));		
		//把两个Box容器添加到Frame中展示
		frame.add(hBox,BorderLayout.NORTH);
		frame.add(vBox);		
		frame.pack();		
		frame.setVisible(true);
	}
}

java 好看的窗口界面_java 好看的窗口界面_04

public class BorderLayoutDemo3 {
	public static void main(String[] args) {
		Frame frame =new Frame("这里演示容器Box中的分割作用");	
		//创建一个水平排列组件的Box容器
		Box hBox =Box.createHorizontalBox();		
		//往当前容器中添加三个按钮hBox,需要在多个按钮中添加分割
		hBox.add(new Button("水平按钮1"));
		hBox.add(Box.createHorizontalGlue());
		hBox.add(new Button("水平按钮2"));
		hBox.add(Box.createHorizontalStrut(30));
		hBox.add(new Button("水平按钮3"));	
		//创建一个垂直排列组件的vBox容器
		Box vBox=Box.createVerticalBox();		
		//往当前容器中添加三个按钮,需要在多个按钮中添加分割
		vBox.add(new Button("垂直按钮1"));
		vBox.add(Box.createVerticalGlue());
		vBox.add(new Button("垂直按钮2"));
		vBox.add(Box.createVerticalStrut(30));
		vBox.add(new Button("垂直按钮3"));
		//把两个Box容器添加到Frame中展示
		frame.add(hBox,BorderLayout.NORTH);
		frame.add(vBox);		
		frame.pack();		
		frame.setVisible(true);
	}
}

 GirdLayout:网格布局(计算器页面)

java 好看的窗口界面_java 好看的窗口界面_05

public class GridLayout {
	public static void main(String[] args) {
		Frame frame =new Frame("计算器");
		//1.创建一个Panel对象,里面存放一个TextField组件
		Panel p=new Panel();
		p.add(new TextField(30));
		//2.把当前这个Panel添加到frame的北边区域
		frame.add(p,BorderLayout.NORTH);
		//3.创建Panel对象,并且设置它的布局管理器为GridLayout
		Panel p2=new Panel();
		p2.setLayout(new java.awt.GridLayout(3, 5, 4, 4));
		//往Panel中添加内容
		for (int i = 0;i < 10; i++) {
			p2.add(new Button(i+""));
		}
		p2.add(new  Button("+"));
		p2.add(new  Button("-"));
		p2.add(new  Button("*"));
		p2.add(new  Button("/"));
		p2.add(new  Button("."));
		//5.把当前Panel添加到frame中
		frame.add(p2);	
		frame.pack();	
		frame.setVisible(true);
	}
}

CardLayout:(给按钮添加事件)

java 好看的窗口界面_java_06

 

public class CardLayoutDemo {
	public static void main(String[] args) {
		Frame frame =new Frame("这里演示CardLayoutDemo");
		//创建一个Panel,用来存储多张卡片
		Panel p1=new Panel();
		//创建卡片布局CardLayout,并且把该对象设置给之前创建的容器中
		CardLayout cardLayout = new CardLayout();
		p1.setLayout(cardLayout);
		//往Pane中存储多个组件
		String[] names={"第一张","第二张","第三张","第四张","第五张"};
		for (int i = 0; i < names.length; i++) {
			p1.add(names[i],new Button(names[i]));		
		}
		//把panel放到frame的中间区域
		frame.add(p1);
		//创建另外一个panel p2,用来存储多个按钮
		Panel p2=new Panel();
		//创建五个按钮组件
		Button b1=new Button("上一张");
		Button b2=new Button("下一张");
		Button b3=new Button("第一张");
		Button b4=new Button("最后一张");
		Button b5=new Button("第三张");
		//创建一个事件监听器,监听按钮的点击事件
		ActionListener listener=new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent e) {
				// TODO Auto-generated method stub
				String actionCommand = e.getActionCommand();//这个字符串是按钮上的文字
				switch(actionCommand){
					case"上一张":
						cardLayout.previous(p1);
						break;
					case"下一张":
						cardLayout.next(p1);
						break;
					case"第一张":
						cardLayout.first(p1);
						break;
					case"最后一张":
						cardLayout.last(p1);
						break;
					case"第三张":
						cardLayout.show(p1,"第三张");
						break;
				}
			}
		};
		
		//把当前的这个事件监听器和多个按钮绑定在一起
		b1.addActionListener(listener);
		b2.addActionListener(listener);
		b3.addActionListener(listener);
		b4.addActionListener(listener);
		b5.addActionListener(listener);
		
		//把按钮添加到容器p2中
		p2.add(b1);
		p2.add(b2);
		p2.add(b3);
		p2.add(b4);
		p2.add(b5);
		
		//把p2放到frame的南边区域
		frame.add(p2,BorderLayout.SOUTH);
		
		
		frame.pack();
		
		frame.setVisible(true);
	}
}

 BoxLayout:(水平,垂直)

java 好看的窗口界面_eclipse_07

public class BoxLayoutDemo {
	public static void main(String[] args) {
		Frame frame = new Frame("这里是测试BoxLayout");
		
		//基于frame容器创建一个BoxLayout对象,并且,该对象存放组件是垂直存放
		BoxLayout boxLayout =new BoxLayout(frame,BoxLayout.X_AXIS);
		
		
		//把BoxLayout对象设置给Frame
		frame.setLayout(boxLayout);
		//往frame中添加两个按钮组件
		frame.add(new Button("按钮1"));
		frame.add(new Button("按钮2"));
		
		frame.pack();
		frame.setVisible(true);
	}
}