当前位置:文档之家› GUI基础与布局管理

GUI基础与布局管理

• 将标签组件jL1放置在窗口东区
winContainer.add("East",jL1)
或:winContainer.add(BorderLayout.EAST,jL1);
边界布局(BorderLayout)是把容器分为5个区: 北区(North)、南区(South)、东区(East)、 西区(West)和中区(Center)。这几个区的分 布规律是“上北下南,左东右西中”。组件可以通 过容器的add(区域,组件)的方法将其指定显示位置。 由于只有5个区域,因此,边界布局最多只能放置5 个组件。
winContainer.setLayout(null);
手工布局允许程序员对界面进行个性 化的设计,即由程序员来安排组件在容 器中的具体位置和大小.组件通过容器 的add(组件)方法加入。
小结
Java GUI界面设计步骤:
1.引入组件所在的包(如javax.swing.和java.awt) 2.定义图形用户界面类,该类继承自JFrame 3.将图形用户界面中需要的组件定义成成员变量 4.添加构造器方法,在该构造器方法中,实现界面设计 (1)调用父类JFrame构造器方法 (2)将需要在当前窗口放置的组件进行初始化 (3)通过this.getContentPane()获得当前窗口容器对象 (4)定义并设置当前容器的布局管理方式 (5)将定义好的组件添加到当前窗口 (6)将窗口设置为合适的大小 (7)显示窗口 5.生成窗口对象(通常在main方法中生成),你就可以看到相应的窗口
顺序布局管理 • 调试运行例题6-3
• 定义顺序布局管理对象 FlowLayout myLayout=new FlowLayout();
• 设置容器的布局管理方式为顺序布局方式
winContainer.setLayout(myLayout);
顺序布局(FlowLayout)是把组件 一个接一个地从左到右顺序排列,一 行排满后就转到下一行继续排列,直

Java的布局管理器
Java的布局管理器提供了几种不同的布局管理方式,用来 控制组件在容器中的显示方式和显示位置.
所有的布局管理方式都是以类的形式实现的,这些类位于 java.awt包中.
常用的布局管理方式有下面几种: 顺序布局:FlowLayout 边界布局:Borderlayout 网格布局:GridLayout 手工布局:
Java面向对象程序设计 GUI基础与布局管理
内容提要
1
何为GUI?
2
java.awt 包与javax.swing包
3
JFram及其相关方法
4
Java布局管理器
5
Java GUI程序的基本结构
教学目标
了解GUI及其工作原理,了解java.awt 包与
javax.swing包
掌握JFram类及其相关方法 掌握Java布局管理器 掌握GUI程序的设计方法与实现步骤

网格布局
调试运行例题6-5
• 定义网格布局管理器对象 GridLayout myLayout=new GridLayout(3,2);
• 设置容器的布局管理方式为网格布局方式 winContainer.setLayout(myLayout);
网格布局(GridLayout)将容器划分为m 行,n列个网格,每个网格放置一个组件. 组件通过容器的add(组件)方法将组件 从左到右放置在对应的网格中。
进一步认识Java GUI程序
调试运行例题6-2
• JLabel,标签组件,用来在窗口中显示信息. • getContentPane()是JFram的方法,用来获取 当前对象的窗口容器(Container).所有在窗口 中显示的组件都要加入到这个容器中.通常情况 下,用add方法将组件加入. • Container类位于java.awt包.
手工布局
调试运行例题6-6
• jL1.setBounds(x,y,width,height); 设置标签组件jL1左上角坐标在窗口中位于 (x,y)处,组件jL1宽为width像素,高为heiht像素.
•窗口的原点位于窗口的左上角. X值越大,就越靠 近窗口的右边,y值越大,就越靠近窗口的下面. •设置容器的布局管理方式为null布局方式
• 抽象窗口工具包AWT (Abstract Window Toolkit)
是 API为Java 程序提供的建立图形用户界面GUI
工具集,AWT可用于Java的applet和applications 中。
javax.swing包与java.awt包
javax.swing包与java.awt包是java支持GUI程序设计的2个包, 它们包含了GUI设计的所有组件.
到把所有组件都排列完毕为止。 在顺序布局方式中,组件通过容器的 add(组件)方法来实现上述排列。
边界布局
调试运行例题6-4
• 定义边界布局管理器对象 BorderLayout myLayout=new BorderLayout();
• 设置容器的布局管理方式为边界布局方式
winContainer.setLayout(myLayout);
在Java最早推出的JDK1.0版本中,有1个叫做java.awt的包, 在该包中包含有一些常见的组件。但随着计算机应用技术的不断 提高,java.awt包中的组件已经不能满足需求。因此,从 JDK1.1版本开始,JAVA又提供了1个新的包,这就是 javax.swing包。
javax.swing包中提供在功能上有更突出的表现:
1.Swing组件没有本地代码,实现了跨平台的显示外观。 2.Swing的组件除了有文本显示功能外,大多添加了图标显示。 3.可以通过调用方法等方式来改变Swing组件的外观。
因此,在JDK1.4以上,我们基本不再使用AWT包。
问题思考
• 如果在一个窗口里显示多个标签,那么这些标签 应该如何排列?
问题引入
如何编写具有windows界面的应用程序? 什么是图形用户界面(GUI-Graphics User Interface)? Java 通过什么支持GUI?
认识Java GUI程序
调试运行例题6-1
•JFram类支持图形用户界面的设计 与实现,通常我们编写的GUI应用程 序都要继承JFram类. •JFram类位于javax.swing包. •javax.swing包是Java平台上JFC (Java Foundation Classws)的 一部分,它提供开发GUI所需要的所 有组件。
相关主题