GUI布局管理器_第1页
GUI布局管理器_第2页
GUI布局管理器_第3页
GUI布局管理器_第4页
GUI布局管理器_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第11章 GUI布局管理器 第11章 GUI布局管理器 本章主要讲述如下内容: Swing常用容器:框架和面板; 布局管理:FlowLayout、BorderLayout、GridLayout和CardLayout。 Swing常用容器 AWT和Swing都提供了容器。讲述Swing中频繁使用的框架和面板。 框架 框架( JFrame)是一种独立存在的容器。 JFrame是Frame的子类,JFrame类对象有边框。 JFrame类的常用构造函数如下: (1) public JFrame( ) (2) public JFrame(String title) 框架( (续) ) 注意:框架创建以

2、后是不可见的,必须调用Window类的show( )方法或Component类的setVisible(true)方法显示该框架。 编程方法:先定义一个JFrame类的子类,然后在该类的构造函数中调用JFrame类的构造函数;最后,将需要的组件或面板加入到该框架。 例:定义一有用的子类:框架( (续) )框架( (续) )例11-1: 一个完整的JFrame示例 源程序 运行面板 Swing采用JPanel定义面板; 面板必须包含在另一个容器中; JPanel类的常用构造函数: (1) public JPanel ( ) 使用缺省的布局管理器 (2) public JPanel (LayoutM

3、anager layout)例11-2:定义两个面板,并设置不同的前景和背景色。源程序 运行布局管理器 常用的四种布局管理器: FlowLayout BorderLayout CardLayout GridLayout 布局管理的含义:创建这种类型的一个对象,并采用此对象来安排其它容器和基本组件。 各容器默认的布局管理器: FlowLayout默认为Applet、Panel和JPanel的布局; BorderLayout默认为JApplet和JFrame的布局FlowLayout布局 FlowLayout布局是将组件按加入的先后顺序从左至右排列; 在缺省方式下,FlowLayout布局是将组件

4、放在每行的中央; FlowLayout布局的对齐方式有三种: 左:FlowLayout.LEFT 中:FlowLayout.CENTER 右:FlowLayout.RIGHTFlowLayout布局 ( (续) ) 常用构造函数如下: (1) public FlowLayout( ) 居中对齐,垂直和水平间隔为5。 (2) public FlowLayout( int align )生成一个指定对齐方式的FlowLayout对象。 (3) public FlowLayout( int align, int hor, int ver) 例11-3:每隔1秒调整组件的对齐方式。 源程序 运行Bor

5、derLayout布局 BorderLayout布局是将空间划分为东、西、南、北、中五个区域;分别采用五个字符串表示:EAST、WEST、SOUTH、NORTH和CENTER。 BorderLayout的构造函数如下: (1) public BorderLayout( ) 组件的垂直和水平间隔为0。 (2) public BorderLayout( int hgap, int vgap ) 例11-4:采用BorderLayout布局管理器,每隔1秒动态地隐藏组件,直到隐藏完全部的组件,然后按相反顺序重新显示组件。源程序 运行 GridLayout布局 GridLayout布局是将容器空间划分

6、为网格状,各个组件占据大小相同的区域。 GridLayout类的构造函数: (1) public GridLayout ( ) 生成一个行数为1的GridLayout布局管理器对象。 (2) public GridLayout ( int rows, int cols ) (3) public GridLayout (int rows, int cols , int hgap, int vgap ) 例11-5:采用GridLayout布局管理器,每隔1秒重新设置组件布局。 源程序 运行CardLayout布局 CardLayout布置管理可以将组件分组,在每一时刻只显示其中的一组; 构造函数

7、: (1) public CardLayout( ) 卡片之间的垂直和水平间隔为0 (2) public CardLayout( int hgap, int vgap ) 指定卡片之间的垂直和水平间隔。CardLayout布局( (续) ) 常用方法: (1) public void first( Container parent ) 显示第一张卡片。 (2) public void last( Container parent ) (3) public void next( Container parent ) 循环显示下一张。 (4) public void previous( Conta

8、iner parent ) 例11-6:采用CardLayout布局管理器,通过鼠标点击可以实现卡片之间的切换。源程序 运行 CardLayout布局( (续) ) CardLayout布局管理器显示卡片的样式和选项卡不同; Java2提供的JTabbedPane容器可以实现选项卡; 例11-7:JTabbedPane的使用方法。源程序 运行 综合应用举例 例11-8(习题1)编写一个华氏温度到摄氏温度的转换程序。通过一个文本框输入华氏温度,通过一个标签输出相应的摄氏温度。采用下列公式进行转换:摄氏温度 = 5 / 9 * ( 华氏温度 32 )源程序 HTML程序 执行 例11-9(习题3)

9、编写一个GUI,界面上提供的按钮有“画圆”、“画矩形”、“画椭圆”和“画直线”,另外提供2个文本行,用户可以输入坐标位置。当用户点击不同按钮时,就在屏幕上输出不同的图形。源程序 HTML程序 执行BorderLayout布局 BorderLayout布局是将空间划分为东、西、南、北、中五个区域;分别采用五个字符串表示:EAST、WEST、SOUTH、NORTH和CENTER。 BorderLayout的构造函数如下: (1) public BorderLayout( ) 组件的垂直和水平间隔为0。 (2) public BorderLayout( int hgap, int vgap ) 例1

10、1-4:采用BorderLayout布局管理器,每隔1秒动态地隐藏组件,直到隐藏完全部的组件,然后按相反顺序重新显示组件。源程序 运行 GridLayout布局 GridLayout布局是将容器空间划分为网格状,各个组件占据大小相同的区域。 GridLayout类的构造函数: (1) public GridLayout ( ) 生成一个行数为1的GridLayout布局管理器对象。 (2) public GridLayout ( int rows, int cols ) (3) public GridLayout (int rows, int cols , int hgap, int vgap ) 例11-5:采用GridLayout布局管理器,每隔1秒重新设置组件布局。 源程序 运行CardLayout布局( (续) ) 常用方法: (1) public void first( Container parent ) 显示第一张卡片。 (2) public void las

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论