北大青鸟:《Java教程》课程教学资源(PPT课件讲稿)第八章 图形编程

北大青鸟 c 第八章 图形编程 Version 3.0 CHA
Version 3.0 图形编程 第八章

回顾 Java最新的事件处理方法是基于授权事 件模型。 事件是描述事件源状态变化的对象。用 户与GU图组件交互就会生成事件 事件源是一个生成事件的对象。当这个 对象的内部状态改变时,事件就会发生。 在发生事件时,事件源将调用监听器定 义的相应方法。 北大青鸟
2 回顾 • Java最新的事件处理方法是基于授权事 件模型。 • 事件是描述事件源状态变化的对象。用 户与GUI组件交互就会生成事件。 • 事件源是一个生成事件的对象。当这个 对象的内部状态改变时,事件就会发生。 • 在发生事件时,事件源将调用监听器定 义的相应方法

目标 ·解释图形的绘制 ·描述 Graphics对象 了解Font类 了解 Fontmetrics类 了解 Color类 掌握绘制各种图形的方法 北大青鸟
3 目标 • 解释图形的绘制 • 描述 Graphics 对象 • 了解 Font 类 • 了解 FontMetrics 类 • 了解 Color 类 • 掌握绘制各种图形的方法

在框架中显示信息 所有的图形被画到相关联的窗口中。 完全可以直接在框架(Frme)中绘入文本 信息,甚至可以直接在框架中绘图。 框架经常被设计为一个组件容器。一般首 先在一个面板中进行绘制,然后再将这个 面板添加到框架。 北大青鸟
4 • 所有的图形被画到相关联的窗口中。 • 完全可以直接在框架(Frame)中绘入文本 信息,甚至可以直接在框架中绘图。 • 框架经常被设计为一个组件容器。一般首 先在一个面板中进行绘制,然后再将这个 面板添加到框架。 在框架中显示信息

paintcomponent 方法 JPanel非常适合于绘制自定义图形 其图形对象是作为 paintComponent0方法的 参数获得的。 要创建自定义图形,需要编写扩展 JPanel 类的新类。并覆盖父类的 paintComponent0 方法 public void paintcomponent(Graphics g)i /将在这里通过参数g完成绘制代码 北大青鸟
5 paintComponent 方法 • JPanel 非常适合于绘制自定义图形 • 其图形对象是作为paintComponent() 方法的 参数获得的。 • 要创建自定义图形,需要编写扩展JPanel 类的新类。并覆盖父类的paintComponent() 方法: public void paintComponent(Graphics g){ . . .// 将在这里通过参数g完成绘制代码 }

Graphics对象 paintComponent方法包含一个 Graphics类型 的参数。 Graphics对象记录针对绘制图形和文本的 一系列设置,比如设置的图标或当前颜色 字体等。 ·Java中,所有绘制都必须通过一个图形对 象。 6 北大青鸟
6 Graphics对象 • paintComponent方法包含一个Graphics类型 的参数。 • Graphics对象记录针对绘制图形和文本的 一系列设置,比如设置的图标或当前颜色、 字体等。 • Java中,所有绘制都必须通过一个图形对 象

Graphics对象的局限性 可以用 Graphics对象绘制的图形是原始图 形 对于这些图形,不能使用实数坐标 不能绘制虚线或宽度不定的线条 不能使用纹理或渐变颜色填充形体 北大青鸟
7 Graphics对象的局限性 • 可以用Graphics对象绘制的图形是原始图 形。 • 对于这些图形,不能使用实数坐标 • 不能绘制虚线或宽度不定的线条 • 不能使用纹理或渐变颜色填充形体

Graphics2D对象 为了解决图形对象的 局限性,在Java11以后 的版本中引入了Jaa2D Java2D包括一个 Graphics2D类,此类扩展 了 Graphics类,所有图形方法都可以配合 Graphics2D对象使用 Java2D图形的重要功能 颜色和图案:图形可以用渐变颜色和填充图案着色。 透明绘制:图形的不透明度通过a透明值控制。 本地字体:平台上的所有本地字体都可用于绘制文本。 画笔的显式控制:可以使用线条的粗细、虚线图案以及 段连接样式。 坐标系的转换:可以使用平移、缩放、旋转和剪切 北大青鸟
8 Graphics2D对象 • Java2D 包括一个 Graphics2D 类,此类扩展 了 Graphics 类,所有图形方法都可以配合 Graphics2D 对象使用 • Java 2D 图形的重要功能: – 颜色和图案:图形可以用渐变颜色和填充图案着色。 – 透明绘制:图形的不透明度通过 α 透明值控制。 – 本地字体:平台上的所有本地字体都可用于绘制文本。 – 画笔的显式控制:可以使用线条的粗细、虚线图案以及 段连接样式。 – 坐标系的转换:可以使用平移、缩放、旋转和剪切 为了解决图形对象的 局限性,在Java1.1以后 的版本中引入了Java 2D

基本的绘图方法 每个AWT组件定义一种传递 Graphics对象的 paint 方法,绘制便是在该对象上执行。 public void paint(Graphics g)i g. setcolor( somero1ox);//设置颜色 g. setFont( somelimi tedFont);/设置字体 g. drawstring(.);//绘制字符串 g. drawline(.);//画线 设置 g. drawRect(.);//绘制图形轮廓 g.£i11Rect(.);//绘制填充图形 笔 数 g. drawPolygon(..);//绘制图形轮廓 g.£i11 Polygon(...);//绘制图形轮廓 上大青另
9 基本的绘图方法 public void paint(Graphics g) { g.setColor(someColor); // 设置颜色 g.setFont(someLimitedFont); //设置字体 g.drawString(...);//绘制字符串 g.drawLine(...); //画线 g.drawRect(...); // 绘制图形轮廓 g.fillRect(...); // 绘制填充图形 g.drawPolygon(...); //绘制图形轮廓 g.fillPolygon(...); //绘制图形轮廓 ... } 每个 AWT 组件定义一种传递 Graphics 对象的 paint 方法,绘制便是在该对象上执行。 设置 画 笔参 数

Java2D中的基本绘图方法 public void paintcomponent(Graphics g)t super paintcomponent(g)i Graphics2Dg2d=( Graphics2D)g;//强制转换为 Graphics2D g2d. setPaint(fillColororpattern)i g2d. setstroke(penThicknessOrPattern) g2d. setcomposite(someAlphaComposite)i g2d setFont(anyFont) 设置 g2d. setcolor (anyColor)i g2d. translate(.)i g2d rotate(.)i 数 g2d. scale(.)i g2d shear(.)i g2d. setrransform(someAffineTransform)i Some Shape s new Some Shape(.)i g2d.draw(s);∥/绘制图形轮廓 g2d.£i11(s);//绘制填充图形 北大青鸟
10 Java 2D 中的基本绘图方法 public void paintComponent(Graphics g) { super.paintComponent(g); Graphics2D g2d = (Graphics2D)g;//强制转换为Graphics2D g2d.setPaint(fillColorOrPattern); g2d.setStroke(penThicknessOrPattern); g2d.setComposite(someAlphaComposite); g2d.setFont(anyFont); g2d.setColor(anyColor); g2d.translate(...); g2d.rotate(...); g2d.scale(...); g2d.shear(...); g2d.setTransform(someAffineTransform); SomeShape s = new SomeShape(...); g2d.draw(s); // 绘制图形轮廓 g2d.fill(s); // 绘制填充图形 } 设置 画 笔参 数
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 北大青鸟:《Java教程》课程教学资源(PPT课件讲稿)第七章 AWT事件模型.ppt
- 北大青鸟:《Java教程》课程教学资源(PPT课件讲稿)第六章 GUI编程.ppt
- 北大青鸟:《Java教程》课程教学资源(PPT课件讲稿)第五章 异常和垃圾收集.ppt
- 北大青鸟:《Java教程》课程教学资源(PPT课件讲稿)第四章 类的高级特性.ppt
- 北大青鸟:《Java教程》课程教学资源(PPT课件讲稿)第三章 类和对象.ppt
- 北大青鸟:《Java教程》课程教学资源(PPT课件讲稿)第二章 Java 编程基础.ppt
- 北大青鸟:《Java教程》课程教学资源(PPT课件讲稿)第十一章 线程.ppt
- 北大青鸟:《Java教程》课程教学资源(PPT课件讲稿)第十章 Applet介绍.ppt
- 北大青鸟:《Java教程》课程教学资源(PPT课件讲稿)第一章 Java语言概述.ppt
- 《计算机网络原理》课程教学资源(参考教材,第四版)PDF电子书(共十章,扫描版).pdf
- 《C程序设计题解与上机指导》(第二版)(谭浩强).pdf
- 苏州大学:《编译原理》课程教学资源(PPT课件讲稿)第七章 编译程序.ppt
- 苏州大学:《编译原理》课程教学资源(PPT课件讲稿)第六章 语法制导译.ppt
- 苏州大学:《编译原理》课程教学资源(PPT课件讲稿)第五章 符号表.ppt
- 苏州大学:《编译原理》课程教学资源(PPT课件讲稿)第四章 语法分析.ppt
- 苏州大学:《编译原理》课程教学资源(PPT课件讲稿)第三章 词法分析.ppt
- 苏州大学:《编译原理》课程教学资源(PPT课件讲稿)第二章 文法和语言.ppt
- 苏州大学:《编译原理》课程教学资源(PPT课件讲稿)第一章 语言处理程序的发展过程.ppt
- 《电子商务概论》课程教学资源(PPT课件讲稿)总复习.ppt
- 《软件设计师历年试题分析与解答》PDF电子书.pdf
- 北大青鸟:《Java教程》课程教学资源(PPT课件讲稿)第九章 Swing.ppt
- 《C语言程序设计》课程教学资源(电子教案)第一讲 C基础与数据结构.doc
- 《C语言程序设计》课程教学资源(电子教案)第二讲 函数.doc
- 《C语言程序设计》课程教学资源(电子教案)第三讲 循环结构设计.doc
- 《C语言程序设计》课程教学资源(电子教案)第四讲 指针.doc
- 《C语言程序设计》课程教学资源(电子教案)第五讲 数组.doc
- 《C语言程序设计》课程教学资源(电子教案)第六讲 文件.doc
- 《C语言程序设计》课程教学资源(电子教案)第七讲 结构体与共用体.doc
- 《C语言程序设计》课程教学资源(电子教案)第八讲 综合设计.doc
- 《C语言程序设计》课程教学资源(电子教案)第九讲 选择结构设计.doc
- 《C语言程序设计》课程教学资源(电子教案)第十讲 顺序结构设计.doc
- 《C语言程序设计》课程教学资源(电子教案)第十一讲 预处理命令.doc
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第一章 C语言概论.ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第二章 程序的灵魂—算法.ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第三章 C语言的数据类型、运算符与表达式.ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第四章 顺序结构程序设计.ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第五章 选择结构程序设计.ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第六章 循环结构程序设计.ppt
- 《2009年二级C语言资料》2008年9月全国计算机等级考试二级C语言试卷(含答案).doc
- 《2009年二级C语言资料》2008年4月等级考试二级C语言真题(完整版,含参考答案).rtf