作者:firstmiki
链接:http://www.cnblogs.com/firstmiki/p/6340001.html
来源:firstmiki的博客
著作权归作者所有,转载请联系作者获得授权。
这篇博文仅仅简单介绍了三种常见的布局管理器,都是一些简单应用;
一、 边界布局管理器(FlowLayout)
1 /* 2 * 功能:演示边界布局管理器:组件的位置和大小 3 */ 4 package GUI; 5 6 import java.awt.BorderLayout; 7 8 import javax.swing.JButton; 9 import javax.swing.JFrame; 10 11 /*Date: 2017年1月21日 Time: 下午4:59:40 12 @firstmiki ---blog.ppt1234.com*/ 13 14 public class TestBorderLayout extends JFrame{ //0.继承JFrame 15 //1. 定义组件 16 JButton jButton, jButton2,jButton3,jButton4,jButton5; 17 18 public TestBorderLayout() { 19 //2. 创建组件 20 jButton = new JButton("中间"); 21 jButton2 = new JButton("北边"); 22 jButton3 = new JButton("西边"); 23 jButton4 = new JButton("东边"); 24 jButton5 = new JButton("南边"); 25 26 //3. 添加各个组件 27 this.add(jButton, BorderLayout.CENTER); //布局的中间 28 // this.add(jButton2, BorderLayout.NORTH); //布局的北边 29 // this.add(jButton3, BorderLayout.WEST); //布局的西边 30 this.add(jButton4, BorderLayout.EAST); //布局的东边 31 this.add(jButton5, BorderLayout.SOUTH); //布局的南边 32 33 //4. 设置窗体属性 34 this.setTitle("演示边界布局管理器"); 35 this.setSize(300, 200); 36 this.setLocation(200, 200); 37 this.setVisible(true); 38 this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 39 } 40 public static void main(String[] args) { 41 TestBorderLayout testBorderLayout = new TestBorderLayout(); 42 43 } 44 }
效果为:
二、 流布局管理器(FlowLayout)
1 /* 2 * 功能:演示流布局管理器:组件的位置和大小 3 */ 4 package GUI; 5 6 import java.awt.*; 7 import javax.swing.*; 8 9 /*Date: 2017年1月21日 Time: 下午4:59:40 10 @firstmiki ---blog.ppt1234.com*/ 11 12 //边界布局管理器 13 public class TestFlowLayout extends JFrame{ //0.继承JFrame 14 //1. 定义组件 15 JButton jButton1, jButton2,jButton3,jButton4,jButton5; 16 17 public TestFlowLayout() { 18 //2. 创建组件 19 jButton1 = new JButton("A"); 20 jButton2 = new JButton("B"); 21 jButton3 = new JButton("C"); 22 jButton4 = new JButton("D"); 23 jButton5 = new JButton("E"); 24 25 //3. 添加各个组件 26 this.add(jButton1); 27 this.add(jButton2); 28 this.add(jButton3); 29 this.add(jButton4); 30 this.add(jButton5); 31 //设置流布局 32 // this.setLayout(new FlowLayout()); //默认布局方式为居中 33 this.setLayout(new FlowLayout(FlowLayout.LEFT)); 34 35 36 //4. 设置窗体属性 37 this.setTitle("演示流布局管理器"); //设置标题 38 this.setSize(200, 200); //设置 39 this.setLocation(200, 200); //设置窗体出现的位置 40 this.setVisible(true); //设置窗体可见 41 this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //设置窗体关闭的同时关闭jvm 42 this.setResizable(false); //Resizable:可调整大小的,设置窗体大小不可变 43 } 44 public static void main(String[] args) { 45 TestFlowLayout testBorderLayout = new TestFlowLayout(); 46 } 47 }
效果为:
三、 网格布局管理器(GridLayout)
1 /** 2 * 功能:演示网格布局管理器 3 */ 4 package GUI; 5 /*Date: 2017年1月22日 Time: 下午12:58:40 6 @firstmiki ---blog.ppt1234.com*/ 7 import java.awt.*; 8 import javax.swing.*; 9 10 public class TestGridLayout extends JFrame{ 11 //定义组件 12 int size = 9; 13 //定义按钮数组 14 JButton jButton[] = new JButton[size]; 15 16 //构造函数 17 public TestGridLayout() { 18 //创建组件 19 for(int i = 0; i<size; i++){ 20 jButton[i] = new JButton(String.valueOf(i+1)); 21 } 22 23 //添加组件 24 for(int i = 0; i<size; i++){ 25 this.add(jButton[i]); 26 } 27 28 //设置网格布局 29 this.setLayout(new GridLayout(3, 3, 10, 30)); 30 31 //设置窗格属性 32 this.setTitle("演示网格布局管理器"); 33 this.setSize(400, 400); 34 this.setLocation(200, 200); 35 this.setVisible(true); 36 this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 37 this.setResizable(false); //Resizable:可调整大小的 38 39 } 40 public static void main(String[] args) { 41 TestGridLayout testGridLayout = new TestGridLayout(); 42 } 43 }
效果为: