ch8_图形用户界面.ppt

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

第8章 图形用户界面 图形用户界面 本章为课堂现场讲解和操作内容。 开发过程详见相关flash资料。 相关知识介绍 本章用到的组件如JFrame、JLabel和JMenuItem等主要主要都是Java Swing提供的组件。本节先介绍关于Swing的知识,再总结Java的事件处理。 JFC与Swing JFC是Java Foundation Classes(Java基础类)的缩写,Java 基础类是一组支持在流行平台的客户端应用程序中创建GUI和图形功能Java类库,JFC作为J2SE 的一个有机部分,主要包含5 个部分:AWT,Swing,Java2D,Accessibility,Drag Drop。这是一套帮助开发人员设计复杂应用程序的开发包。 由此我们看出Swing是JFC的一部分,它可以在JDK 1.1或者Java2平台下运行。在本章涉及几个常用的Swing组件,了解了这些,已经可以编写一般的Swing程序了。在进一步的深入学习和编程实践中,读者应该学会查阅Javadoc的API文档。但是在大部分Swing程序中只用到了两个包:javax.swing包和javax.swing.event包。javax.swing包是每个Swing应用程序必须要加载(import)的。 Swing与AWT 在Java里用来设计GUI的组件和容器有两种,一种是早期版本的AWT组件,在java.awt包里,包括Button、Checkbox、TextFiled等,这些组件都是Component类的子类。 另一种是较新的Swing组件,其名称都是在原来AWT组件名称前加上J,例如JButton、JCheckBox、JTextFiled等,这些组件都是JComponent类的子类。 Swing与AWT Swing与AWT Swing组件是对AWT组件的改进,尽管Swing是从AWT派生出来的,但Swing组件并不使用AWT组件,很多原有的AWT组件(如按钮、列表和对话框)都重新用Swing组件改写了。 Swing组件与AWT组件的最大不同之处在于Swing组件完全是由Java语言编写的,因此Swing组件的外观和功能不依赖于操作系统, Swing组件通常被称为轻量级组件(Lightweight Components),与此相对AWT组件被称为重量级组件(Heavyweight Components)依赖于本地操作系统。Swing组件在不同平台上表现得更一致,并且能够提供本地窗口系统不支持的新特性。 Swing是Java窗口程序不可或缺的包,有别于以往AWT包没有弹性、缺乏效率的缺点,Swing可以提供更丰富的视觉感受。 事件处理 GUI是由事件驱动的,常见的事件包括:移动鼠标、单双击鼠标各个按钮、单击按钮、在文本字段输入、在菜单中选择菜单项、在组合框中选择、单选和多选、拖动滚动条、关闭窗口等。 Java通过事件对象来包装事件,程序可以通过事件对象获得事件的有关信息。 事件类及其继承关系 事件处理 编写事件处理程序时,要关注事件源、事件监听器、事件对象。 事件源表示事件来自于哪个组件或对象,比如要对按钮被按下这个事件编写处理程序,按钮就是事件源。 事件对象代表某个要被处理的事件,例如按钮被按下就是一个要被处理的事件,当用户按下按钮时,就会产生一个事件对象。 事件对象中包含事件的相关信息和事件源。事件监听器负责监听事件并做出响应,一旦它监视到事件发生,就会自动调用相应的事件处理程序作出响应。 常用事件 ActionEvent、ItemEvent、ChangeEvent、WindowEvent、MouseEvent等。一般地,ActionEvent发生在按下按钮、选择了一个项目、在文本框中按下回车键; ItemEvent发生在具有多个选项的组件上,如JCheckBox、JComboBox; ChangeEvent用在可设定数值的拖曳杆上,如JSlider、JProgressBar等; WindowEvent用在处理窗口的操作; MouseEvent用于鼠标的操作。 事件监听器 事件监听器也是一个对象,它总是通过事件源的add×××Listener方法被注册到某个事件源上,不同的Swing组件可以注册不同的事件监听器,一个事件监听器中可以包含有对多种具体事件的专用处理方法 。 一般通过实现某个接口来定义事件监听器类,同时要实现接口的抽象方法。 接口里可能包含有对多种具体事件的专用处理方法,有时并不需要对所有事件进行处理,为此Swing提供了一些适配器类×××Adapter,这些类含有所有×××Listener中方法的默认实现(就是什么也不做,空的方法体),因此就只需重写那些需要进行处理的事件的方法。 三种实现事件处理的方法 实现事

文档评论(0)

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

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

1亿VIP精品文档

相关文档