Java程序设计实用教程 教学课件 ppt 作者 董洋溢 第六章 图形用户界面程序设计

上传人:E**** 文档编号:89156259 上传时间:2019-05-19 格式:PPT 页数:125 大小:1.03MB
返回 下载 相关 举报
Java程序设计实用教程 教学课件 ppt 作者 董洋溢 第六章 图形用户界面程序设计_第1页
第1页 / 共125页
Java程序设计实用教程 教学课件 ppt 作者 董洋溢 第六章 图形用户界面程序设计_第2页
第2页 / 共125页
Java程序设计实用教程 教学课件 ppt 作者 董洋溢 第六章 图形用户界面程序设计_第3页
第3页 / 共125页
Java程序设计实用教程 教学课件 ppt 作者 董洋溢 第六章 图形用户界面程序设计_第4页
第4页 / 共125页
Java程序设计实用教程 教学课件 ppt 作者 董洋溢 第六章 图形用户界面程序设计_第5页
第5页 / 共125页
点击查看更多>>
资源描述

《Java程序设计实用教程 教学课件 ppt 作者 董洋溢 第六章 图形用户界面程序设计》由会员分享,可在线阅读,更多相关《Java程序设计实用教程 教学课件 ppt 作者 董洋溢 第六章 图形用户界面程序设计(125页珍藏版)》请在金锄头文库上搜索。

1、第6章 图形用户界面程序设计,前面的章节主要介绍的是有关Java语言的类,封装,数据类型等比较抽象的概念。人机交互的方式也仅限于通过键盘输入的方法来进行。 GUI(Graphical User Interface)全称图形用户界面,主要是为应用程序提供用户操作的图形界面。Java语言体系提供了一组功能强大的图形界面设计工具。,本章主要内容,6.1图形用户界面程序概述了解 6.2容器组件重点 6.3常用基本组件重点 6.4事件响应重点、难点 6.5界面布局管理器重点 6.6综合举例了解,6.1 图形用户界面程序概述,6.1.1两个图形类库AWT和Swing AWT全称为:Abstract Win

2、dow Toolkit即抽象窗口工具包。它是自Java1.0版本开始提供的一个GUI编程类库,“java.awt”是AWT的工具类库。这个工具包提供了内容丰富的图形、用户界面组件及界面布局管理器的支持。 由于AWT自身的一些不够完善的地方,自Java1.2版本开始,推出了一个新的GUI用户界面库Swing组件。它位于Java扩展包“javax”中。可以认为Swing组件是AWT组件的改进版,它是建立在AWT组件的基础之上的,每个AWT窗口组件都对应有Swing组件。但是它们之间未必都有继承的关系。当然Swing组件的数量远超了AWT组件的数量。,6.1.2 组件的概念 组件类,即Compone

3、nt,它是Java语言中GUI的最基本组成部分,也可以把GUI的窗口系统中所有显示的对象都叫做组件。它可以分成基本组件和容器组件两类。基本组件指的是不可以再进行分割的组件,一般这样的组件都具有特定的功能,如按钮、标签、菜单等;容器组件顾名思义,是用来包含其他组件的组件。容器(Container)可以让用户把各种组件放到其中,同时容器中也可以放入其他容器形成嵌套。,6.1.3 AWT组件 AWT为开发图形用户界面提供了实现各种组件、布局管理和事件处理的类和接口。 常用的AWT开发包主要有以下两个: java.awt:包含创建用户界面和绘制图形图像的所有类。 Java.awt.event:提供处理

4、有AWT组件所引发的各类事件的接口和类。 。,AWT中的类按功能不同,可以分为5大类。 1. 基本组件类 基本组件是一个可以以图形化的方式显示在屏幕上,并能与用户进行交互的对象。 AWT中常用的基本组件主要有:标签(Label)、文本框(TexrField)、按钮(Button)、复选框(Checkbox)、列表框(List)、菜单(Menu)等。,2.容器组件类 容器组件是用以容纳与其他界面成分和元素的组件。容器本身也是一个组件,具有组件的所有性质,但是它的主要功能是容纳其他组件和容器。容器java.awt.Container是Component的子类,一个容器可以容纳多个组件,使他们形成一

5、个整体,所有的容器都可以通过add()方法向其中添加组件。 AWT中常用的容器组件有:窗口(Window)、面板(Panel)。,3.布局管理类 每一个容器都有一个布局管理器,用来决定组建在容器中的位置和大小。 4. 事件处理类 Java.awt.event中包含处理组件事件的所有类和接口。 5.基本图形类 用于辅助图形界面设计的类,如颜色(Color)、字体类(Font)、绘图类(Graphics)、图像类(Image)等。,6.1.4 Swing组件 Swing组件可以全面代替AWT中的几乎所有组件,并且除了跨平台性外还具备了一些新的性质。如在Swing组件中的按钮、标签中不仅可以像AWT

6、组件一样显示文字,还可以显示图标。从类的名称上也比较容易区分Swing组件和AWT组件,绝大多数的Swing组件都是在AWT组件名前面加了一个字符“J”。 Swing组件都是AWT的Container类的直接子类或间接子类。Swing组件全部位于javax.swing”包中。Swing组件按功能来划分,可以分为顶层容器、中间容器和基本组件3种类型。,(1)顶层容器类 常用的有个:JFrame、JApplet、JDialog。 之所以叫做顶层容器,它们的作用是在进行图形化界面设计时,提供一个绘制图形对象的容器,也可以理解为整个界面的框架,最后显示出来的是一个独立的窗口界面。这就好像是画一幅油画一

7、样,顶层容器就是这幅油画的画框和画布。有了这个顶层容器,之后一切图形对象都必须放置在这个容器之内。也就是说其他的Swing组件都可以放入其中。,(2) 中间层容器类 常用的中间层容器有JPanel,JScrollPane,JSpiltPane,JInternalFrame。 中间层容器介于顶层容器和Swing的基本组件之间,类似顶层组件,中间层容器可以包含其他的组件,如,按钮、文本框等非容器组件。但是这些中间层容器不能独立存在,必须要在一个顶层容器中才可以使用。,(3)基本组件 常用的有JLabel、Jbutton、Jlist、JcomboBox、Jtextfield等。 基本组件就是一些具体

8、功能的组件。它们大都是具体完成人机交互的控件。如果要把这些基本组件加入到图形界面中,需要有一个中间层容器来容纳这个基本组件,使用容器组件的add(Component comp)方法来进行添加。 随着Java版本的不断升高,Swing组件由于其自身强大的功能和优越的跨平台性已经成为目前Java语言开发图形界面的首选组件,因此本章将以介绍Swing组件为主。,图6-1 Swing组件的类层次图,6.2 容器组件 6.2.1 顶层容器JFrame类 JFrame类是从“java.awt”包中的Frame类继承而来。前面的内容已经介绍过,顶层容器相当于是图形界面的框架,这个框架负责容纳图形组件,确定组

9、件在框架当中的位置和显示型式。再次强调,作为框架,Jframe不可以直接加入组件,要加入组件必须先调用getContentPane()方法来获得Container类型的内容面板,然后通过调用add()方法,把要添加的组件放置到内容面板当中去。,1. JFrame类的构造方法 JFrame() 创建没有标题的窗口。 JFrame(String title ) 创建以title为标题的窗口,title的内容显示在窗口的标题栏。 2.JFrame类常用的成员方法 Container getContentPane() 返回窗口的ContentPane内容面板。该方法返回的类型为Container。 i

10、nt getDefaultCloseOperation() 当用户关闭窗口时的默认处理方法。 int setDefaultCloseOperation() 设置用户关闭窗口时所执行的操作。,void update(Graphics g) 调用paint()方法重绘窗口。 void remove(Component component) 将窗口中的component组件删除。 JMenuBar getMenuBar() 返回窗口中的菜单栏组件。 void setLayout(LayoutManager manager) 设置窗口的布局。 除了以上的常用方法,JFrame类还有非常多的方法,这里篇

11、幅所限不一一介绍,读者可以自行查阅java的技术文档来了解。,6.2.2中间容器JPanel类 JPanel是中间层容器中最常用的一种,也称作面板类。它是一种简单的、无边框的容器类组件。可以向面板中直接添加swing组件(如Jlabe、JButton、JTextField 、JTextArea等)。不过JPanel不能做独立的窗口使用,必须要添加到顶层容器才可以使用。因此,通过向顶层容器加入多个中间层容器可以把界面分成不同的区域,然后分别对这些中间层容器再进行各自的设计。 面板类是JComponent的子类,因此它就是一个Container类,它的创建方法和顶层容器的创建方式类似,不过它不需要

12、像顶层容器那样再获取一个Container类型的内容面板才可以添加其他组件,它可以直接调用add()方法直接添加。下面通过一个简单程序来了解一下一个界面的创建过程。,【例6-1】一个简单的界面。 import javax.swing.*; import java.awt.*; public class JFPTest public static void main(String args) JFrame jf=new JFrame(“第一个图形界面!“);/创建一个框架 JPanel t=new JPanel();/创建一个面板类 /创建两个标签 JLabel l1=new JLabel(“放

13、在顶层容器中Java的界面!“); JLabel l2=new JLabel(“放在中间层容器中Java的界面!“); t.add(l2);/将一个标签放到面板类里 /调用getContentPane()方法来获得Container类型的内容面板c Container c=jf.getContentPane(); /向内容面板c中加入面板类对象t中,South是指定放置的位置 c.add(t,“South“); /直接将标签加入到内容面板c中,并设置其居中放置 c.add(l1,“Center“); jf.setSize(400,400);/设置框架的大小 jf.setVisible(true

14、);/显示框架 ,上面的程序设计了一个框架对象jf,一个面板类对象t和两个标签对象l1、l2。有关标签的具体使用方式在 下一节介绍。可以发现,程序并没有直接通过add()方 法把标签l1和面板t加入到了框架jf中,而是通过“Co ntainer c=jf.getContentPane()” 语句,先生成一个内容面板 c,然后向这个面板里添加 标签和面板类。面板类对 象t已经通过add()方法把另 一个标签l2添加到t中了。 所以最后在运行程序是, 显示的是两个标签的内容。 具体的显示结果,如图6-2 所示。,6.3 常用基本组件 6.3.1标签和文本框 1.标签(JLabel) 标签类的作用是

15、输出文本提示或者图片对用户来进行使用方面的一些信息的提示。 标签类有两种构造方法: JLabel (String text) :创建具有指定文本的JLabel对象。 JLabel (Icon image):创建具有指定图标的JLabel对象注意,标签类对象可以显示的文字是单行的只读文本,或者是图片。图片文件的类型为:.gif、.png、.jpg及jpeg。,还可以通过javax.swing.SwingConstants接口中的很多静态常量指定标签中文字与图片的位置。例如下面的一段程序片段所使用的方式。 / 设置标签label的文字水平居中 label.setHorizontalTextPosi

16、tion( SwingConstants.CENTER); / 设置标签label的文字位于标签图标的下面 label.setVerticalTextPosition( SwingConstants.BOTTOM); ,2.文本框(JTextField)和密码输入框(JPasswordField ) 文本框和密码文本框是用户和程序进行数据交互的两个主要手段之一。通过本文框用户可以输入文本,程序也可以把计算的结果显示于文本框之中。 构造方法如下: JtextField();指创建一个空的单行文本框。 JtextField(String text);指创建一个默认的显示内容为参数text的值的单行文本框。 JtextField(int columns); 指创建一个文本框宽度为参数columns值所指定的字符个数的单行文本框。 JtextField(String test, int columns);指创建一个指定了宽度和默认内容的文本框。,密码文本框:是单行文本框的子类,功能类似,性质相同,它主要的作用

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号