JAVA进行GUI程序设计之布局管理(上)
2010-12-19 18:44
561 查看
与Windows编程不同,JAVA中GUI组件是使用相对位置来进行布局控制,所以在JAVA进行GUI开发的时候,想像Windows中那样直接对GUI组件进行拖拽摆放,比较困难。
下面介绍三种最常使用的布局管理器:BorderLayout(边框式布局)、FlowLayout(流式布局)、GridLayout(网格式布局)。
BorderLayout(边框式布局):
1.BorderLayout是Frame类的默认布局管理器,布局由东南西北中5个相对位置构成。该布局在调整容器大小时,组件的相对位置不会变化。
2.每个区域只能添加一个组件,如在一个区域中加入了多个组件,那么显示的时候只会显示最后加入的那个。
3.添加组件的时候如果没有指定区域,则默认是CENTER区域。
4.容器缩放时各区域缩放规则:
NORTH、SOUTH两个区域可以在水平方向缩放,竖直方向不变;
WEST、EAST两个区域可以在竖直方向缩放、水平方向不变;
CENTER区域在水平、竖直两个方向均缩放。
实例:
效果图:
![](http://6duweb.com/wp-content/uploads/2010/12/BorderLayout1-300x223.jpg)
放大到全屏:
![](http://6duweb.com/wp-content/uploads/2010/12/BorderLayout2-300x161.jpg)
下面介绍三种最常使用的布局管理器:BorderLayout(边框式布局)、FlowLayout(流式布局)、GridLayout(网格式布局)。
BorderLayout(边框式布局):
1.BorderLayout是Frame类的默认布局管理器,布局由东南西北中5个相对位置构成。该布局在调整容器大小时,组件的相对位置不会变化。
2.每个区域只能添加一个组件,如在一个区域中加入了多个组件,那么显示的时候只会显示最后加入的那个。
3.添加组件的时候如果没有指定区域,则默认是CENTER区域。
4.容器缩放时各区域缩放规则:
NORTH、SOUTH两个区域可以在水平方向缩放,竖直方向不变;
WEST、EAST两个区域可以在竖直方向缩放、水平方向不变;
CENTER区域在水平、竖直两个方向均缩放。
实例:
import java.awt.*; import javax.swing.JFrame; /** * @author Aiml * */ public class BorderLayoutDemo extends JFrame { /** * */ private static final long serialVersionUID = 1L; public BorderLayoutDemo(){ setSize(400,300); setTitle("边框式布局Demo"); Toolkit kit = Toolkit.getDefaultToolkit(); Dimension screenSize = kit.getScreenSize(); int x=(screenSize.width-400)/2; int y=(screenSize.height-300)/2; setLocation(x,y); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub BorderLayoutDemo frame = new BorderLayoutDemo(); Button bn = new Button("北部区域"); Button bs = new Button("南部区域"); Button bw = new Button("西部区域"); Button be = new Button("东部区域"); Button bc = new Button("中部区域"); frame.add(bn,BorderLayout.NORTH); frame.add(bs,BorderLayout.SOUTH); frame.add(bw,BorderLayout.WEST); frame.add(be,BorderLayout.EAST); frame.add(bc,BorderLayout.CENTER); frame.setVisible(true); } }
效果图:
![](http://6duweb.com/wp-content/uploads/2010/12/BorderLayout1-300x223.jpg)
放大到全屏:
![](http://6duweb.com/wp-content/uploads/2010/12/BorderLayout2-300x161.jpg)
相关文章推荐
- JAVA进行GUI程序设计之布局管理(中)
- JAVA进行GUI程序设计之布局管理(下)
- atitit.软件开发GUI 布局管理优缺点总结java swing wpf web html c++ qt php asp.net winform
- java -- GUI程序设计之基于布局管理器的布局
- java GUI(1)--AWT组件和布局管理
- atitit.软件开发GUI 布局管理优缺点总结java swing wpf web html c++ qt php asp.net winform
- atitit.软件开发GUI 布局管理优缺点总结java swing wpf web html c++ qt php asp.net winform
- Java图形程序设计(五)——布局管理
- atitit.软件开发GUI 布局管理优缺点总结java swing wpf web html c++ qt php asp.net winform
- atitit.软件开发GUI 布局管理优缺点总结java swing wpf web html c++ qt php asp.net winform
- atitit.软件开发GUI 布局管理优缺点总结java swing wpf web html c++ qt php asp.net winform
- atitit.软件开发GUI 布局管理优缺点总结java swing wpf web html c++ qt php asp.net winform
- java -- GUI程序设计之无布局管理器布局
- atitit.软件开发GUI 布局管理优缺点总结java swing wpf web html c++ qt php asp.net winform
- JAVA进行GUI程序设计之一
- Java几个常用的布局管理器类
- 【JAVA语言程序设计基础篇】--图形用户界面基础--三种基本的布局管理器
- Java Swing 绝对布局管理方法,null布局【图】
- JAVA基础:GUI事件处理及布局要点
- 学习LUA,使用IUP进行GUI程序设计