Java——布局:FlowLayout、BorderLayout、GridLayout、CardLayout

在Swing中使用的所有布局管理器都可以实现LayoutManager接口,在Swing中主要使用的5种布局管理器:FlowLayout、BorderLayout、GridLayout、CardLayout、绝对定位。

 

import java.awt.FlowLayout;

import javax.swing.JButton;
import javax.swing.JFrame;

//主类
//Function        : 	FlowLayout_demo
public class FlowLayout_demo {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		JFrame f = new JFrame("Swing窗口");							//实例化窗体对象
		//设置窗体中的布局管理器为FlowLayout,所有的组件居中对齐,水平和垂直间距为3
		f.setLayout(new FlowLayout(FlowLayout.CENTER,3,3));	
		JButton but = null;
		for(int i=0;i<9;i++){
			but = new JButton("按钮--"+i);
			f.add(but);
		}
		f.setSize(500, 200);
		f.setVisible(true);
	}

}

 

import java.awt.BorderLayout;
import java.awt.FlowLayout;

import javax.swing.JButton;
import javax.swing.JFrame;

//主类
//Function        : 	BorderLayout_demo
public class BorderLayout_demo {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		JFrame f = new JFrame("Swing窗口");							//实例化窗体对象
		//设置窗体中的布局管理器为BorderLayout,水平和垂直间距为3
		f.setLayout(new BorderLayout(3,3));	
		f.add(new JButton("东"),BorderLayout.EAST);
		f.add(new JButton("西"),BorderLayout.WEST);
		f.add(new JButton("南"),BorderLayout.SOUTH);
		f.add(new JButton("北"),BorderLayout.NORTH);
		f.add(new JButton("中"),BorderLayout.CENTER);
		f.pack(); 						//根据组件自动调整窗体的大小
		f.setVisible(true);
	}

}

 

 

import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.GridLayout;

import javax.swing.JButton;
import javax.swing.JFrame;

//主类
//Function        : 	GridLayout_demo
public class GridLayout_demo {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		JFrame f = new JFrame("Swing窗口");							//实例化窗体对象
		//设置窗体中的布局管理器为GridLayout,3乘以5,水平和垂直间距为3
		f.setLayout(new GridLayout(3,5,3,3));	
		JButton but = null;
		for(int i=0;i<13;i++){
			but = new JButton("按钮--"+i);
			f.add(but);
		}
		f.pack(); 		//根据组件自动调整窗体大小
		f.setVisible(true);
	}

}

 

import java.awt.BorderLayout;
import java.awt.CardLayout;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.GridLayout;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;

//主类
//Function        : 	CardLayout_demo
public class CardLayout_demo {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		JFrame f = new JFrame("Swing窗口");							//实例化窗体对象
		Container cont = f.getContentPane();							//取得窗体容器
		CardLayout card = new CardLayout();							//定义布局管理器
		f.setLayout(card);
		cont.add(new JLabel("东123456789",JLabel.CENTER),"first");
		cont.add(new JLabel("西123456789",JLabel.CENTER),"second");
		cont.add(new JLabel("南123456789",JLabel.CENTER),"third");
		cont.add(new JLabel("北123456789",JLabel.CENTER),"fourth");
		cont.add(new JLabel("中123456789",JLabel.CENTER),"fifth");
		f.pack(); 		//根据组件自动调整窗体大小
		f.setVisible(true);
		card.show(cont, "third");
		for(int i=0;i<5;i++){			//循环显示每张卡片
			try{
				Thread.sleep(3000);
			}catch(InterruptedException e){
			}
			card.next(cont);
		}
		
	}

}

 

 

import java.awt.BorderLayout;
import java.awt.CardLayout;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.GridLayout;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;

//主类
//Function        : 	AbsoluteLayout_demo
public class AbsoluteLayout_demo {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		JFrame f = new JFrame("Swing窗口");							//实例化窗体对象
		f.setLayout(null);				//绝对定位
		JLabel title = new JLabel("标签对象");							//建立标签对象
		JButton enter = new JButton("进入");							//建立按钮对象
		JButton help = new JButton("帮助");
		f.setSize(200,90); 						//设置窗体大小
		title.setBounds(45,5,150,20); 			//设置组件的位置及其大小
		enter.setBounds(10,30,80,20); 			//设置组件的位置及其大小
		help.setBounds(100,30,80,20); 			//设置组件的位置及其大小
		f.add(title);
		f.add(enter);
		f.add(help);
		f.setVisible(true);
		
	}

}

 

posted @ 2016-03-22 22:25  tonglin0325  阅读(303)  评论(0编辑  收藏  举报