Java 2图形设计――卷Ⅰ:AWT(附CD)
内容简介:
本书详细介绍Java中的AWT(
目录:
前言 第一部分 入门 第1章 绪论 1.1Java基本类 1.2抽象窗口工具集 1.3同位体和平台独立 1.3.1轻量构件 1.3.2AWT和Swing构件 1.3.3AWT和2DAPI 1.4构件:AWT的基础 1.5构件、容器和布局管理器 1.5.1构件 1.5.2基本构件工具 1.5.3容器 1.5.4布局管理器 1.6小结 第2章 applet和应用程序 2.1 Java appl et 2.1.1使用appletv iewer 2.1.2浏览器的基础结构 2.1.3java.awt.Applet类 2.1.4关键Applet方法 2.1.5java.awv.Comoo nent显示方法 2.2Java应用程序 2.2.1 设置应用程序 2.2.2显示应用程序 2.3组合applet 和应用程序代码 2.4小结 第二部分 图形和图像 第3章 图形 3.1 java.awt.Graphics 3.2Graphics参数 3.3图形坐标系 3.3.1绘制图形形状 3.3.2绘制构件的四周边界 3.3.3填充形状 3.4Graphics引用 3.4.1引用副本的Graphics引用 3.4.2Graphics引用的寿命 3.4.3处理Graphics 3.5绘制和填充形状 3.5.1画直线 3.5.2画折线 3.5.3绘制矩形 3.5.4画弧 3.5.5绘制椭圆 3.5.6绘制多边形 3.5.7绘制文本 3.6转换坐标系原点 3.7剪贴 3.8图形模式 3.9创建图形 3.10小结 第4章 颜色和字体 4.1颜色模式 4.1.1索引颜色模式 4.1.2直接颜色模式 4.2java.awt.Color类 4.3系统颜色 4.4字体和字体度量 4.4.1Font类 4.4.2FontMetrics类 4.5小结 第5章 加载和显示图像 5.1Image 类和Image包 5.2图像生产者和图像消费者 5.2.1异步图像生产 5.2.2ImageProducer 5.2.3ImageObserver 5.3加载和显示图像 5.4applet 和应用程序之间的区别 5.5等待图像加载 5.6一次绘制图像的一行扫描线 5.7MediaTracker 5.8动画GIF 5.9AWT构件作为图像观察者 5.10创建图像 5.11加载图像作为资源 5.12小结 第6章 图像过滤 6.1Image Producer接口 6.2 mageC onsume r接口 6.3图像生产者和图像消费者之间的关系 6.4AWT图像过滤器 6.4.1CropImageFilter 6.4.2使用常规图像过滤器 6.4.3ReplicateScal eFilter和AreaAveraging ScaleFilter 6.4.4组合图像过滤器 6.5ImageConsumer 属性 6.6实现自定义图像过滤器 6.7扩展RGBImageFilter 6.7.1DissolveFilter 6.7.2DissolveEdgeFilter 6.8扩展ImageFilter 6.8.1ImageFilter类 6.8.2向图像过滤器传输图像位 6.8.3用于传输像素的ColorModel 6.8.4扩展ImageFilter的溶解过滤器 6.8.5波形过滤器 6.9实现ImageConsumer接口 6.9.1图像溶解 6.9.2Dissolver类的实现 6.10双缓冲入门 6.11小结 第7章 无过滤图像处理 7.1缩放和闪烁图像 7.2抓取像素 7.3内存图像源 7.3.1使用MemoryImageSource 裁剪图像 7.3.2内存图像源和动画 7.4小结 第三部分 事件和布局管理器 第8章 基于继承的事件处理 8.1旧AWT事件模型 8.1.1覆盖事件处理方法 8.1.2被传播的事件 8.1.3事件类型常量 8.1.4事件的向外传播 8.1.5覆盖被传播的事件的处理 8.2事件修饰常数 8.3鼠标按钮事件 8.4关于鼠标和按钮 8.5监控鼠标事件 8.6检测双击 8.7动作事件 8.8标识构件 8.9基于继承的事件模型的缺点 8.9.1事件的传播 8.9.2继承的要求 8.9.3将事件处理插入到构件类中 8.9.4传送事件的责任 8.9.5handleEvent()转换语句 8.10小结 第9章 授权事件模型 9.1授权事件模型 9.1.1构件、事件和监听者 9.1.2过滤事件 9.2结构概述 9.2.1事件 9.2.2构件作为事件源 9.2.3多点传送事件源 9.2.4 单点传送事件源 9.2.5事件源接口 9.2.6监听者 9.2.7事件处理方法的JavaBeans设计模式 9.3AWT适配器 9.4构件事件 9.4.1构件和容器事件 9.4.2焦点事件 9.4.3键盘事件 9.4.4鼠标和鼠标移动事件 9.4.5窗口事件 9.4.6画布和面板的焦点和键盘事件 9.4.7消耗输人事件 9.4.8绘制事件 9.5语义事件 9.5.1动作事件 9.5.2可调事件 9.5.3项目事件 9.5.4 文本事件 9.6事件适配器 9.6.1处理没有适配器的多点 事件源事件 9.6.2 类型安全的多路处理适配器 9.6.3一般的多路处理适配器 9.7内部类 9.7.1三维按钮 9.7.2 在单独的监听者类中封装事件处理 代码 9.7.3监听自己 9.7.4 命名内部类 9.7.5匿名内部类 9.7.6 修改默认的事件处理行为 9.8 从自定义构件中激发AWT事件 9.9 从自定义构件中激发自定义事件 9.9.1一个未经专门设计的方案 9.9.2 有关步骤 9.9.3开发自定义事件类 9.9.4 开发监听者接口 9.9.5 为注册监听者定义接口 9.9.6 开发可以激发自定义事件的自定义 构件 9.10 调度事件和AWT事件队列 9.11有效事件 9.12基于继承的机制 9.13 事件处理设计 9.13.1使用基于继承的事件模型 9.13.2 监听自己 9.13.3 在单独的类中封装事件 处理代码 9.13.4 使用内部类 9.13.5 命名内部类与匿名内部类相比 9.13.6 向容器传播事件 9.14 小结 第10章 构件、容器和布局管理器 10.1最大的三种AWT构件 10.2布局管理器 10.2.1两种类型的布局管理器 10.2.2布局管理器和容器空白区 10.2.3同位体和空白区 10.2.4布局管理器和构件首选尺寸 10.3绘制一个容器的构件 10.4强制一个容器布置它的构件 10.5标准AWT布局管理器 10.5.1使用何种布局管理器 10.5.2BorderLayout布局管理器 10.5.3CardLayout布局管理器 10.5.4 FlowLayout布局管理器 10.5.5GridLayout布局管理器 10.6GridBagLayout布局管理器 10.6.1GrdBaglayout和GridBag Constraints 10.6.2网格单元和显示区 10.6.3与构件比较的显示区 10.6.4GridBagConstraints. anchor 10.6.5GridBagConstraints. fill 10.6.6GridBagConstraints.gridx和GridBag- Constraints.gridy 10.6.7GridBagConstraints.gridwidth和GridBa g- Constraints.gridheight 10.6.8GridBagConstraints.weightx和GridBag- Constraints.weighty 10.6.9Grid BagC onstra ints.i nsets 10.6.10 GridBagConst raint s.ip adx 和GridBag- Constraints.ipady 10.6.11Grid BagLab 10.6.12 GridBagLayout和输入表单 10.6.13在嵌套的面板中布置构件 10.6.14嵌套面板之间的通信 10.6.15GridLabApplet的实现 10.7 null 布局管理器 10.8自定义布局管理器 10.8.1BulletinLayout 10.8.2运行BulletinLayout自定义布局管 理器 10.8.3Row Layout 10.8.4 运行RowLayout自定义布局管 理器 10.8.5RowLayoutApplet的实现 10.8.6ColumnLayout 10.8.7运行ColumnLayout 自定义布局管 理器 10.9 小结 第四部分 AWT构件 第1章 AWTComponent类 11.1构件 11.2java.awt.Component 11.3构件属性 11.4不赞成的方法 11.5构件的位置、边界和坐标 11.6构件的首选、最小和最大尺寸 11.7构件的可见性和响应 11.8构件和同位体 11.9显示构件 11.10 构件和zorder 11.11构件和光标 11.12构件和串行化 11.13构件和国际化 11.13.1Locale 11.13.2资源包 11.13.3Simplel18Ntestapplet 11.13.4资源包属性 11.13.5从国际化代码中分离出GUI 11.13.6 可用地区和两个字符的编码 11.14 构件和JavaBeans 11.14.1约束属性 11.14.2在自定义构件中实现 约束属性 11.15构件和树锁定 11.16小结 第12章 基本构件:标签、按钮、画布 和面板 12.1标签和按钮 12.1.1 java.awt.Label 12.1.2java.awt.Button 12.2 画布和面板 12.2.1java.awt.Canvas 12.2.2java.awt.Panel 12.3小结 第13章 项目选择:复选框 选择框和 列表 13.1复选框 13.1.1java .awt.ItemSel ectable接口 13.1.2java.awt.Checkbox 13.1.3相容的复选框 13.1.4 相互排斥的复选框 13.2选择框和列表 13.2.1是采用列表还是选择框 13.2.2java.awt.Choice 13.2.3java.awt.list 13.2.4 双列表构件 13.3小结 第14章 文本构件 14.1java.awt.TextCompone nt 14.1.1文本选择 14.1.2TextComponent监听者 14.2java.awt.TextField 14.2.1输入的有效性 14.2.2 退出有效性 14.2.3过程中确认 14.3java.awt.TextArea 14.4 小结 第15章 滚动:滚动条与滚动框 15.1java.awt.Scrollbar 15.2java.awt.ScrollPane 15.2.1滚动构件 15.2.2滚动图像 15.2.3程序控制滚动 15.3小结 第16章 窗口、框架与对话框 16.1java.awt.Window 16.1.1快闪屏 16.1.2提示框帮助 16.2 java.awt.Frame 16.3java.awt.Dialog 16.3.1模式对话框与多线程 16.3.2java.awt.FileDialog 16.4 小结 第17章 菜单 17.1菜单类 17.2文件菜单 17.3处理菜单事件 17.4拖离菜单 17.5MenuBarPrinter 17.6FrameWithMenuBar类 17.7帮助菜单 17.8复选框菜单项 17.9级联菜单 17.10动态更改菜单 17.11弹出式菜单 17.11.1弹出式菜单与构件 17.11.2处理弹出式菜单事件 17.11.3 显示与构件相关的弹出式菜单 17.12小结 第18章 无鼠标操作与打印 18.1无鼠标操作 18.2键盘遍历 18.2.1标准AWT构件与键盘遍历 18.2.2 自定义构件及其键盘遍历 18.3菜单快捷键 18.3.1菜单类与快捷键 18.3.2菜单快捷键示例 18.4打印 18.4.1获取PrintGraphics的引用 18.4.2打印自身的applet 18.4.3打印对话框及其属性 18.4.4 页码设置 18.5 小结 第19章 轻量构件 19.1引入轻量构件 19.1.1AWT:重量构件的世界 19.1.2轻量构件与重量构件 19.2简单的轻量构件 19.2.1简单的重量构件 19.2.2从重量构件到轻量构件 19.3轻量容器 19.4轻量构件与zorder 19.5轻量构件及其Graphics 19.6轻量构件与首选尺寸 19.7小结 第五部分 高级主题 第20章 剪贴板与数据传输 20.1java.awt.datatransfe r软件包 20.2Clipboard类 20.2.1将数据复制到剪贴板及从剪贴板 取出数据 20.2.2ClipboardOwner类 20.3系统剪贴板 20.4 局部剪贴板 20.5数据传送机制 20.5.1数据格式 20.5.2Transferable对象与数据格式 20.5.3StringSelection 20.6 将图像复制到剪贴板 20.6.1ImageSelection――封装图像的 Transferable对象 20.6.2使用ImageSelection类 20.6.3增加另外一种数据格式 20.7传递自定义AWT构件 20.7.1封装自定义AWT构件的可传递 对象 20.7.2图像按钮传送applet 20.8小结 第21章 拖放技术 21.1j四a.awt dnd 软件包 21.2拖动源与放置目标 21.2.1简单的拖放程序范例 21.2.2拖动意图 21.2.3拖动源 21.2.4放置目标 21.2.5事件 21.2.6DragSourceDragEvent与DragSource DropEvent 21.2.7DropTargetDragE vent与 DropTarget DropEvent 21.2.8特定的拖动源与放置目标 21.2.9继承与授权 21.2.10映射 21.2.11自动滚动 21.3小结 第22章 自定义对话框 22.1对话框类 22.1.1 GJTDialog 22.1.2非模式对话框和DialogClient接口 22.1.3再论GJTDialog 22.2WorkDialog 22.3ButtonPanel 22.4Postcard 22.5MessageDialog 22.6YesNoDialog 22.7QuestionDialog 22.8小结 第23章 橡皮带技术 23.1橡皮带类 23.2Rubberband基本类 23.2.1Rubberband方法及类成员 23.2.2以XOR模式绘图 23.2.3绘制橡皮带线条 23.2.4绘制橡皮带矩形与椭圆形 23.3橡皮带面板 23.4使用DrawingPanel类 23.5重分解单元测试 23.6小结 第24章 双缓冲技术 24.1双缓冲技术与动画 24.2双缓冲如何工作 24.3可拖动轻量构件与双缓冲容器 24.3.1Util类 24.3.2BackingStore类 24.3.3DoubleBufferedContainer类 24.3.4Lightweight类 24.4小结 第25章 子图形动画 25.1构成 25.2序列与子图形 25.2.1Sequence 25.2.2子图形 25.3Playfield与DoubleBufferedContainer 25.4冲突检测 25.4.1CollisionArena 25.4.2CollisionDetector 25.4.3SpriteCollisionDe tector 25.4.4EdgeCollision 25.5使用animation软件包 25.5.1简单的动画 25.5.2碰撞动画 25.5.3两个子图形之间的冲突 25.6小结 附录A AwT类框图 附录B 关于本书的CD-ROM
评论