文档详情

Java语言程序设计教程第2版 教学课件 作者 邱桃荣 主编 第8章 GUI编程初步.ppt

发布:2017-08-18约2.21万字共87页下载文档
文本预览下载声明
第8章 GUI编程初步 学习导言 开发具有良好的GUI(Graphics User Interface:图形用户界面)的软件无疑是程序员的追求目标。在Java语言中提供了大量的类来实现界面设计。可以实现图形界面主要有AWT工具集和Swing工具集。 本章将详细介绍Swing工具集常用的GUI组件、设置观感效果、以及AWT的布局管理等内容。 课程结构 8.1 GUI编程概述 8.2 Swing的常用组件 8.3 布局管理器 8.4 观感效果 8.1 GUI编程概述 1. Java的基础类 Java基础类(Java Foundation Classes)是构建图形用户界面的图形框架。 Java基础类是由如下的类库构成: (1)抽象窗口工具集:AWT; (2)Swing组件; (3)支持剪贴板的数据传送; (4)Java2D,高级图形图象处理; (5)服务残疾人的辅助应用接口。 8.1 GUI编程概述 2. AWT 概述 AWT是Abstract Window Toolkit的缩写,称为抽象窗口工具集,是Java基础类中一份子。AWT提供了构建用户界面组件,例如菜单、按钮、文本框、对话框、复选框等,可以根据图形界面组件的输入实现事件处理。 AWT允许绘制图形、处理图像、控制用户界面的布局、字体显示以及提供利用本地剪贴板实现数据传送类等辅助性质的类。 8.1 GUI编程概述 3. Swing 概述 Swing是Java基础类中的一部分,定义了具有可插入观感(Look-and-Feel)的组件。Swing是纯Java语言实现的,基于JDK1.1“轻重量”用户界面框架,并不依赖本地的工作平台。 Swing具有和AWT同性质的组件,如按钮等。从命名的角度看,Swing组件都第一个字母标有一个”J”,比如AWT按钮组件命名为Button,而Swing的按钮组件命名为JButton. Swing还定义了其他具体应用的组件,如树组件、表组件、拾取列表组件等 . 8.1 GUI编程概述 Swing组件采用了一种MVC的设计范式,即“模型-视图-控制”(Model-View-Controller),其中模型用来保存内容,视图用来显示内容,控制器用来控制用户输入。 8.1 GUI编程概述 4.Swing组件和AWT组件的比较 与AWT组件比较,最大区别在于Swing组件是由纯Java代码构成,没有任何本地代码。由于这一特性,使得Swing组件具有比AWT更多的优势,具体体现在以下几个方面: Swing的标签和按钮组件可以显示文本和图片,而不是象AWT的同性质组件一样只可以显示文本; Swing可以实现用户定义组件的外观,而AWT组件的外观取决于本地的操作系统; Swing具有良好的扩展性,用户可以扩展已有组件,定义新组件,AWT的扩展性差。 8.1 GUI编程概述 1. JFrame组件 JFrame组件定义的是框架窗口。框架窗口是一种顶层窗口,不能包含在其他窗口的窗口。这种窗口与用JWindow组件定义的窗口有明显不同,框架窗口是指具有标题栏、边界的窗口,而用JWindow组件创建的窗口是无标题和边界的窗口。在JFrame组件的窗口的标题栏上,具有可以控制标题窗口大小的图标。通常用JFrame创建的框架窗口容纳其他组件,如按钮、标签、文本框等。 8.2 Swing的常用组件 (1)JFrame的创建 JFrame():创建一个空的框架窗口。 JFrame(String title):创建一个标题为title的窗口。 (2)JFrame的常用方法 JFrame的常用方法见表8-2。 例8.1 JFrame的示例。程序清单见JFrameExample .java,运行结果见图8-2. 8.2 Swing的常用组件 2.标签(JLabel) 标签组件是用于显示文本信息、或图标、或二者兼而有之。JLabel组件不会对用户的输入发生反应,即,对JLabel组件不能编辑。标签组件可以将显示内容垂直或水平显示,通常默认文本信息的显示状态为水平。而图标的显示状态为垂直。标签组件一般起到提示作用。 8.2 Swing的常用组件 (1)JLabel组件的创建 JLabel():创建空标签,无文本无图标。 JLabel(Icon image):创建一个具有图标image的标签实例。 JLabel(String text):创建一个具有文本信息text的标签实例。 JLabel(String text,int horizontalAlignment):创建一个具有特定字符信息text和对齐方式horizontalAlignment的标签实例。其中,对齐方式是在SwingContants.LEFT(左对齐)、SwingContants.CENTER(居中对齐)、Swin
显示全部
相似文档