- 1、本文档共49页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[面向对象程序设计教程8
Java面向对象程序设计教程 第 9 章 Java的图形用户界面 主要内容 9.1 JFC的组成 9.1.1 AWT 9.1.2 Swing 9.1.3 Drag and Drop 9.1.4 Java 2D 9.1.5 Java Accessibility 9.2 应用程序和小程序界面图形化 9.2.1 Swing的根面板 9.2.2 小程序的典型例子 9.2.3 应用程序的典型例子 9.2.4 结合小程序和应用程序的典型例子 9.3 AWT的组件布局管理模型 9.3.1 基于策略模式的授权模型 9.3.2 布局管理器类 9.4 AWT的事件处理模型 9.4.1 基于观察者模式的授权模型 9.4.2 事件源 9.4.3 事件类 9.4.4 事件监听器 9.4.5 创建事件监听器对象 9.1 JFC的组成 Java基础类 Java Foundation Classes,JFC JFC由5个API组成:AWT、Swing、Java 2D、Drag and Drop和Accessibility 基于对等组件的AWT AWT(Abstract Window Toolkit)是一个独立平台的窗口工具组件集,它依赖于对等组件(Peer),而对等组件是一种本地GUI组件,由AWT类管理。 AWT的作用是给用户提供基本的界面组件,如按钮、列表、菜单等等。 AWT组件中,包含有对其对等组件的大量实用操作,而AWT类仅仅是对等组件外围的包装与操作工具,因此,对等组件可以快速产生一个GUI工具组件。 对于最初的AWT,其开发组只用了不到6个星期的时间,但存在大量的缺陷。 重量组件 AWT最初只包括与本地对等组件相关联的组件,称为重量组件(Heavyweight component)。 这些组件在它们自己的本地不透明窗口中绘制,这样使用将花费昂贵的代价,而且在更改其默认行为时,不可以为其扩展子类。 它们必须是矩形的,而且不能有透明的背景。 轻量组件 在AWT 1.1版本中引入 。 轻量组件直接扩展了java.awt.Component或java.awt.Container。 轻量组件没有本地对等组件,它不在本地不透明窗口中绘制,而是在它们的重量容器窗口中绘制。 轻量组件不会导致与它们关联的不透明窗口的性能损失,而且还可以有透明的背景。 透明的背景使显示的轻量组件可以是非矩形的,虽然所有组件(重量的或轻量的)都有一个矩形边框。 在轻量组件的容器中必须有一个是重量组件,否则无法在窗口内绘制轻量组件。 AWT组件的分类 java.awt.Component菜单、按钮、标签、列表等组件的抽象基本类,AWT中大约有一半的类是从它这里扩展出来的。 java.awt.Container扩展Component的抽象基本类。在容器中可以包含多个组件,我们可以使用容器将相关组件组合成一个整体,以简化程序GUI的设计,同时有利于组件的显示安排。由Container演变出来的类有Panel、Applet、Window、Dialog和Frame等。 java.awt.LayoutManager和java.awt.LayoutManager2定义容器中组件位置和尺寸方法的接口。Java中定义了几种默认的布局管理器,如FlowLayout、BorderLayout、CardLayout、GridLayout和GridBagLayout等 java.awt.Graphics定义组件内图形操作的基本类,每个组件都有一个相关的图形对象。 Swing和AWT的关系 Swing是用来替代AWT的重量组件,而不是用来替代AWT本身。 Swing使用AWT最好的部分来建立一个新的轻量组件集,并且丢弃了AWT中有问题的重量组件部分。 Swing利用了AWT的底层组件,包括图形、颜色、字体、工具包和布局管理器。 Swing没有使用AWT的顶层组件,除了Frame、Window和Dialog类,它们分别被Swing的重量组件JFrame、JWindow和JDialog所扩展。 插入式界面样式 Swing支持插入式界面样式(Pluggable Look-and-Feel),它的基础是模型-视图-控制(Model-View-Controller,MVC)架构。 Swing组件的代理是ComponentUI类的一个扩展,它是Swing工具包中的一个Java类,其中定义了所有UI代理的公共行为,这些行为可以在扩展组件中进行修改。 对于插入式界面样式,Swing组件的UI代理负责显示组件和处理输入事件的视图-控制器。 当Swing组件配备了一个修改过的组件UI时,组件的可视外观或事件处理都是可以修改的。 插入式界面样式举例:StyleChooser.java Swing包
文档评论(0)