第6章_图形用户界面设计 面向对象程序设计 Java 教学课件.ppt

第6章_图形用户界面设计 面向对象程序设计 Java 教学课件.ppt

  1. 1、本文档共50页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章_图形用户界面设计 面向对象程序设计 Java 教学课件

第6章 图形用户界面设计 6.1问题的提出与分析 6.2创建图形用户界面 6.3 事件处理 6.4 绘制图形 6.5 问题的实现 本章综述 Java程序广泛的应用在图形用户设计方面,随着操作系统的发展,不论是Windows还是Unix等操作系统,都支持图形用户界面操作方式。也使得各种程序设计语言以扩充库的形式支持图形用户界面设计成为必然。Java程序的跨平台性更体现了它在图形用户界面设计中的优势。 本章通过一个画图程序的实例,从介绍如何设计图形用户界面开始,逐步介绍Swing容器与组件的设计,组件相关事件的处理,以及绘制图形和图形文件的保存等方面的知识。本章的重点内容包括: (1)Swing容器与组件; (2)布局管理器; (3)事件处理; (4)绘制图形。 6.1问题的提出与分析 【例6-1】Windows操作系统的画图程序是大家非常熟悉的图形用户界面应用程序,要求用java来设计一个类似的画图程序。 【分析】对于设计图形用户界面程序而言,一般分为两个步骤:第一步,设计相应的用户界面,并根据需要对相关的组件进行布局;第二步,添加相关的事件处理,如鼠标、菜单、按钮和键盘等事件。这里我们将按以下步骤来完成画图程序的设计:界面框架的实现、鼠标事件的响应、图形画笔粗细设置的实现和图形的保存。 首先,我们来看一下这个画笔程序的界面,如图6-1所示。 图6-1 简单绘图程序界面 图6-2 应用程序相关类的UML图 6.2创建图形用户界面 在Java中设计图形界面程序时,通常选用AWT组件或Swing组件。本章示例采用的是Swing组件进行设计和实现,本节先对AWT组件和Swing组件进行了比较,然后重点介绍Swing中的容器和组件。除了组件的创建之外,组件的布局也是一个重要的内容。 6.2.1 AWT与SWING概述 与AWT相比较,Swing具有以下几点优势: (1)Swing组件可以给设计者带来更大的灵活性,有利于增强组件的功能。 (2)在AWT中,有一部分代码是用C编写的;而Swing是用纯java编写的,增强了应用程序与环境的无关性。 (3)Swing允许用户自行定制桌面的显示风格,让窗口系统更加适应用户的习惯和要求,而AWT组件完全依赖于本地平台。 (4)增加了裁剪板、鼠标提示和打印等功能。 (5)Container是抽象容器类,所有Swing组件都派生自Container类,因而所有的Swing组件都具有容器的功能。 在设计画图程序时,我们采用Swing组件来进行设计。 6.2.2 容器与组件 组件(component)是图形用户界面中的各种部件(如标签、按钮、文本框等等),所有的组件类都继承自JComponent类。容器(container)是用来放置其他组件的一种特殊部件,在java中容器用Container类描述。 如图6-3所示,除4个顶级组件外,其他的Swing组件类都继承自JComponent类,而JFrame、JDialog、JWindow和JApplet分别扩展了Frame、Dialog、Window和Applet。如JButton不扩展java.awt.Button。它扩展javax.swing类AbstractButton,然后扩展JComponet。这是因为很多组件本质上是按钮。比如使用菜单时,单击并选取菜单项。JMenuItem是AbstractButton的另一个子类。 1. 框架 Component类是所有GUI对象的祖先,Window类是Frame类的父类,JFrame类直接从Frame继承而来。比较重要的框架外观的操作方法如下: (1)setIconImage:窗口最小化(在Java中称为图标化)时,把一个Image对象用作图标。 (2)setTitle:设置窗口中标题栏的文字。 (3)setResizable:设置用户是否可以改变框架大小。 (4)dispose:关闭窗口,并回收该窗口的所有资源。 (5)setLocation:设置组件的位置。 (6)setBounds重新设置组件的大小和位置。 实现带有标题的主窗口程序,这里采用两个java文件来实现这个应用。MyPaint.java实现应用程序相关类,TestMyPaint.java定义主函数测试应用程序。源代码如下: //MyPaint.java package test.paint; //自定义包 import javax.swing.*; public class MyPaint { public static final int WIDTH=600; //定义静态变量,主框架的宽度 public static final int HEIGHT=400;//定义静态变量,主框架的高度 J

文档评论(0)

qiwqpu54 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档