1 / 24
文档名称:

第9章 多线程机制与动画.ppt

格式:ppt   页数:24
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

第9章 多线程机制与动画.ppt

上传人:策划大师 2011/11/13 文件大小:0 KB

下载得到文件列表

第9章 多线程机制与动画.ppt

文档介绍

文档介绍:本章介绍使用Java绘图和在Java中使用图像的方法。学习的主要目标是:
了解绘图容器与坐标系的概念。
掌握Canvas类、Graphics类的基本用法,掌握在组件上绘图的基本步骤,掌握使用Graphics类绘图、绘制字符、显示图片。
掌握绘制任意函数曲线的编程方法,理解徒手绘图和橡皮筋画法的基本思路,理解使用连续位图形成动画的思路的编程方法。
本章学习目标
Java绘图基础
Java的绘图是在容器上进行的,每一个容器都有一个默认的坐标系,该坐标系以容器的左上角为坐标原点(0,0),X轴水平向右,Y轴竖直向下,长度单位为像素,如图7-1所示。注意Y轴的默认方向与解析几何学中设置坐标系的习惯是不同的。
绘图容器与坐标系
图7-1 默认的坐标系
虽然在各种组件上都能绘图,但是常用的绘图容器只用两种。如果是Java Application程序,通常使用的是画布Canvas作为绘图容器。如果是Applet程序,通常使用的就是Applet作为绘图容器,因为Applet本身就是一种容器。
Java绘图基础
画布类Canvas
画布就是屏幕上的一个用于绘图的空白矩形区域,程序不仅可以在画布上绘图,也可以捕获画布上的事件,例如鼠标事件和键盘事件等。在对于Java Application程序,画布Canvas是主要的绘图容器,ponent的子类,是一种比较简单的类,表7-1给出了Canvas类最常用的构造方法。
表7-1 画布类Canvas的构造方法
构造方法
解释
public Canvas()
创建一个画布
Java绘图基础
paint方法和repaint方法
Canvas类最重要的方法是paint方法,一般在画布上绘图时总是要重写paint方法。另一个重要的方法是repaint方法,repaint与paint不同,paint方法是由系统自动调用的,而repaint方法必须由程序显式地调用。有一点需要注意的是,创建一个画布对象后必须用public void setSize(int width, int height)方法设置画布的大小,否则画布是看不见的。表7-2列出了画布类Canvas的常用方法。
表7-2 画布类Canvas常用方法
常用方法
解释
public void paint(Graphics g)
Canvas类的自动绘图方法
public void repaint()
调用paint(Graphics g)
由Component类继承来
public void setBackground(Color c)
设置画布的背景色
public void setSize(int width, int height)
设置画布的大小
Java绘图基础
本书中绘图程序主要以Applet为容器。以下分别给出以Canvas为容器和以Applet为容器的绘图实例,用以示范两种不同方式的绘图方法。
实例在Canvas上绘图
实例在Applet上绘图
Java绘图基础
绘图类Graphics
Graphics类是一个比较特殊的抽象类,无须通过new实例化直接可以使用。使用Graphics类绘图要依附于一个组件,常用的是Applet和Canvas,程序运行时系统都会自动地调用二者的paint()方法完成绘图工作。
ponent的子类,可以通过重写paint(Graphics g)方法,并利用Graphics的g对象进行绘图,这是大多数的情况。ponent的子类,就没有paint(Graphics g)方法供系统自动调用,这时必须使用getGraphics()方法获取一个Graphics对象,然后利用这个对象绘图。
Graphics类提供了几十个绘图方法,可以完成绝大多数的绘图工作,表7-3给出了常用的绘图方法。由于Graphics类特殊性,一般不使用其构造方法来创建实例对象,所以以下只介绍用于绘图的实例方法。
Java绘图基础
表7-3 绘图类Graphics的常用方法
分类
常用方法
解释
直线
public abstract void drawLine(int x1,int y1,int x2,int y2)
依据两端的坐标(x1,y1),(x2,y2)绘制直线
矩形
public void drawRect(int x,int y,int width,int height)
依据左上角坐标(x,y)宽度width高度height绘制矩形
public abstract void clearRect(int x,int y,int width,in

最近更新

2024年共青科技职业学院单招职业适应性考试模.. 40页

高可用云灾备系统设计 35页

2024年内蒙古交通职业技术学院单招职业适应性.. 41页

2024年内蒙古兴安盟单招职业倾向性考试模拟测.. 40页

2024年内蒙古化工职业学院单招职业适应性测试.. 39页

2024年内蒙古呼和浩特市单招职业倾向性考试模.. 39页

2024年内蒙古巴彦淖尔盟单招职业倾向性考试题.. 40页

2024年内蒙古机电职业技术学院单招职业技能测.. 41页

2026年传统节日250字作文春节 13页

2024年内蒙古锡林郭勒盟单招职业适应性考试模.. 41页

风寒双离拐片联合西他定治疗糖尿病性神经病变.. 36页

2026年传承经典筑梦未来作文题目 13页

2024年华北理工大学轻工学院单招职业技能考试.. 41页

2024年南京机电职业技术学院单招职业倾向性测.. 41页

2024年南京科技职业学院单招综合素质考试题库.. 40页

2024年南京视觉艺术职业学院单招职业适应性考.. 38页

2024年南充文化旅游职业学院单招职业适应性考.. 41页

2024年南昌交通学院单招职业技能考试模拟测试.. 41页

2024年南通科技职业学院单招职业适应性考试题.. 40页

高效发酵工艺优化 35页

2024年南阳科技职业学院单招职业技能考试模拟.. 39页

2026年会计实习学生自我鉴定表 9页

2024年厦门兴才职业技术学院单招职业倾向性考.. 40页

2024年厦门南洋职业学院单招职业适应性测试题.. 41页

2025年广州卫生职业技术学院单招职业技能测试.. 64页

美团代运营业务委托合同 6页

新概念青少版2A各单元重点归纳 15页

九年级家长会课件PPT下载(初三2班) 25页

年产3000万片硝苯地平缓释片车间设计 40页

DB61∕T 926-2014 火灾高危单位消防安全管理与.. 45页