java教材课件10多媒体编程

合集下载

Java教材课件10多媒体编程

Java教材课件10多媒体编程

else if(obj == stopS) { sound.stop( ); //停止播放声音文件 } else { sound.loop( ); //循环播放声音文件 } }} • 编写如下的HTML文件,命名为Li10_02.htm保存,为 运行该 Applet 做准备。后面的 Applet 程序也可以按如 下格式改写即可。
• Graphics 类的方法有很多, 对于部分方法读者可 以在教材中查询到。 • 图形的绘制颜色一般是通过 setColor(Color c) 方法 来改变的,当需要以某一种新的颜色来绘制某一个 图形时,就需要设定一种新的颜色对象然后通过 setColor()方法来改变它。通常可以经过Color类 的静态属性来创建一个指定颜色的颜色对象。如创 建一个白色对象为: Color c = Color.WHITE; • Color 类的静态颜色属性是有很多的 ,常用的有 WHITE( 白 色 ) 、 BLACK( 黑 色 ) 、 BLUE( 蓝 色 ) 、 CYAN( 青 色 ) 、 GRAY( 灰 色 ) 、 GREEN( 绿 色 ) 、 ORANGE( 橙色 ) 、 PINK( 粉红色 ) 、 RED (红色)、 YELLOW(黄色)等。
• getAudioClip () 方法的参数 URL 指明 声音文件的位置,参数 name是指明声音 文件名。

假设“gun.wav”是指当前目录下的声音文件,下面的代 码行说明加载声音文件进入剪贴对象: AudioClip co = getAudioClip(getCodeBase( ),"gun.wav"); getAudioClip() 方法仅仅能在 applet 内调用,在 Java 应用 程序里是不能使用该方法的。随着 JAVA2 的引入,应用 程序可以用Applet类的newAudioClip()方法装入声音文件。 newAudioClip()方法格式为: public static final AudioClip newAudioClip(URL url)

《JAVA语言程序设计教程》课件第10章

《JAVA语言程序设计教程》课件第10章

(1) 创建一个实现Runnable接口的类,在类中实现run() 方法。
(2) 创建该类的对象,将该对象传递给Thread(Runnable target)作为实参创建线程对象。
(3) 线程对象调用start()方法启动目标线程。 【例10-3】 实现Runnable接口创建线程,该线程生成5个 随机数,并在每生成一个随机数之后休眠1秒钟。
2. Thread() Thread的构造函数,用于构造一个名为Thread-加上一个数 字的线程,例如Thread-0、Thread-1、Thread-2…等。 3. start() 线程对象通过调用start方法启动线程,使它从新建状态进 入到就绪状态排队等候CPU时间片,一旦获得CPU资源,就执 行线程内的run()方法。注意,如果试图使用start方法再次启动 一个已经就绪的线程,那么就会产生一个 IllegalThreadStateException异常。
class CreateNumber implements Runnable{ protected int num; public void run() { for(int i=1;i<=5;i++) { num=(int)(Math.random()*100); System.out.println(num); try{Thread.sleep(1000);} catch(InterruptedException e){} } }
10.1.3 线程的状态
与自然界的任何事物一样,一个线程从创建到结束也经 历了一个完整的生命周期,在这个周期中,线程分别呈现出五 种不同的状态:新建、就绪、运行、中断(阻塞)、死亡。线程 状态及其生命周期如图10.4所示。
图10.4 线程的生命周期

Java 多媒体编程

Java 多媒体编程

图像的缩放步骤: 图像的缩放步骤: (1)加载图片 利用getWidth getHeight方法读取 getWidth和 ( 2 ) 利用 getWidth 和 getHeight 方法读取 图片的宽度和高度 (3)按指定大小显示图片内容 例 7.3 连续扩大(缩小) 连续扩大(缩小)产生动画
图像的生成器方法 producer)其 createImage(ImageProducer producer)其 中 参 数 producer 可 以 用 类 MemoryImageSource生成的对象来表示 MemoryImageSource生成的对象来表示 例 7.4
drawImage( drawImage(Image img, int x, int y, ImageObserver observer) 绘制指定图像中当前可用的图像。 绘制指定图像中当前可用的图像。 drawImage( drawImage(Image img, int x, int y, Color bgcolor, ImageObserver observer) 绘制指定图像中当前可用的图像。 绘制指定图像中当前可用的图像。
27. 28. 29. 30. 31. 32. 33. 34. 35. 36.
public void actionPerformed(ActionEvent e){ if(e.getSource()==line) flag=1; if(e.getSource()==oval) flag=2; if(e.getSource()==rect) flag=3; if(e.getSource()==polygon) flag=4; if(e.getSource()==arc) flag=5; repaint(); } public void paint(Graphics g){Color //获取系统颜色 c=g.getColor(); //获取系统颜色 switch(flag){

Java图形、图像与多媒体基础 ppt课件

Java图形、图像与多媒体基础  ppt课件
• 这里给出的显示位置(x,y)为文字的基线的开始坐标, 不是文字显示的矩形区域的左上角坐标。
PPT课件
6
• 文字字型有三个要素:字体:常用的字体 有Times New Roman、Symbol、宋体、楷体 等。
• 风格:常用的风格有三种:正常、粗体和 斜体;分别用三个常量表示:Font.PLAIN(正 常)、Font.BOLD(粗体)和Font.ITALIC(斜体)。 风格可以组合使用,例如 , Font.BOLD+Font.ITALIC。
PPT课件
13
PPT课件
14
Java Graphics类的绘图方法
• Graphics类提供基本的几何图形绘制方法, 主要有:画线段、画矩形、画圆、画带颜 色的图形、画椭圆、画圆弧、画多边形等。
PPT课件
15
画线
• 在窗口画一条线段,可以使用Graphics类的 drawLine()方法: drawLine(int x1,int y1,int x2,int y2) 例如,以下代码在点(3,3)与点(50,50) 之间画线段,在点(100,100)处画一个点。 g.drawLine(3,3,50,50);//画一条线段 g.drawLine(100,100,100,100);//画一个点。
• 如果老师最后没有总结一节课的重点的难点,你 是否会认为老师的教学方法需要改进?
• 你所经历的课堂,是讲座式还是讨论式? • 教师的教鞭
• “不怕太阳晒,也不怕那风雨狂,只怕先生骂我 笨,没有学问无颜见爹娘 ……”
• “太阳当空照,花儿对我笑,小鸟说早早早……”
raphics类的基本功能
• 在java.awt包中,类Graphics提供的功能有:建 立字体、设定显示颜色、显示图像和文本,绘 制和填充各种几何图形。可以从图形对象或使 用Component的getGraphics()方法得到Graphics 对象。Graphics2D类继承Graphics类,并且增加 了许多状态属性,使应用程序可以绘制出更加 丰富多彩的图形。 在某个组件中绘图,一般应该为这个组件所属 的子类重写paint()方法,在该重写的方法中进 行绘图。但要在JComponent子类中进行绘图。

JAVA的PPT 第10章 第1讲

JAVA的PPT 第10章 第1讲
第10章 GUI程序设计 章 程序设计
学习目标
• 理解图形用户界面的设计原则 • 能够创建图形用户界面 • 熟悉图形用户界面相关的组件类、事件处理类 熟悉图形用户界面相关的组件类、 和接口 • 能够创建多种组件和容器 • 能够使用布局管理器 • 理解动作事件、鼠标事件和键盘事件 理解动作事件、
第一讲 绘制简单图形界面
• BorderLayout将容器分成五部分:东区、南 将容器分成五部分:东区、 将容器分成五部分 西区、北区、中央。 区、西区、北区、中央。 • 示例:TestBorderLayout.java 示例: • 构造方法: 构造方法: – public BorderLayout(int hGap,int vGap) – public BorderLayout()
BorderLayout
• 布局为 布局为BorderLayout的容器,添加组件方法: 的容器,添加组件方法: 的容器 – void add(Component comp,int index) • index是取值为:BorderLayout.East, 是取值为: 是取值为 BorderLayout.South, BorderLayout.West, BorderLayout.North或 或 BorderLayout.Center – void add(Component comp) • 默认添加到中区
GridLayout
• GridLayout根据构造方法定义的行数和列数 根据构造方法定义的行数和列数 以网格(矩阵)的形式排列组件, 以网格(矩阵)的形式排列组件,组件按添加 的顺序从左到右排列,一行排满另起一行。 的顺序从左到右排列,一行排满另起一行。 • 示例:TestGridLayout.java 示例: • 构造方法: 构造方法: • public GridLayout(int rows, int columns, int hGap, int vGap) • public GridLayout(int rows, int columns) • public GridLayout()

Java多媒体编程

Java多媒体编程

第四讲、Java 多媒体编程应用技术[本讲的知识要点]:Graphics类、paint()格式及绘制的时机。

Java中的文本、图形、图像绘制、声音、动画等编程技术。

4.1 Java 中的图形、文本、图像绘制编程的相关知识4.1.1 有关的类及绘制函数:主要涉及java.awt包中的Graphics类;编程的基本方法是调用Graphics 类中的相应的绘制图形、绘制文本、绘制图像等函数以实现在图形窗口下输出图形、文本、图像等。

4.1.2编程方法:先利用(在组件的paint()函数内)或获取(在组件的其它函数内如事件响应函数内)java.awt包中的Graphics类对象(它代表当前组件如窗口的绘图环境),然后调用Graphics类中相应的绘制函数来实现输出。

4.1.3 绘制的时机:①组件外形发生变化时(如窗口的大小、位置、图标化等显示区域更新时),AWT自动从高层直到叶结点组件相应地调用各组件的paint()方法,但这可能有一个迟后感。

①程序员也可直接调用某一个组件的repaint()(系统再调用update()以清除背景区域,系统再调用paint()实现输出;如直接调用paint()将保留上次的屏幕输出,故不直接调用paint()),以立即更新外观(如在添加新的显示内容后)。

要点 如果要求保留上次的输出结果时可以调用paint(),而不要求保留上次的输出结果只希望用户能看到最新的输出结果时可以调用repaint()。

③AWT响应外部的事件时(如首先显示于屏幕或需刷新时),AWT也会直接调用repaint()函数。

4.1.4如何获取Graphics类对象并绘制: 绘制之前,必须先获取Graphics类对象,因为它包含有当前组件的绘图环境,从而实现在当前组件(如图形窗口)内输出。

方法一:在paint()内则可通过其形参(它代表当前组件的绘图环境),从而调用Graphics类中的相关的绘制成员函数。

public void paint(Graphics g){ g.drawString("Java Text",x,y);}方法二:先在组件类(如Applet或窗框Frame的其他成员函数)中调用getGraphics()来获取当前组件的绘图环境,再强制绘制输出,从而可在paint()函数之外(如事件响应函数内)产生绘制动作。

JAVA多媒体技术.ppt

各参数如下: int x:绘图起始位置的x坐标(注:起始位置指 填充区的左上角)
int y:绘图起始位置的y坐标
int width:椭圆形的宽度
int height:椭圆形的高度
10
【例6.2】
import java.awt.*;
import java.applet.*;
int x:绘图起始位置的x坐标 int y:绘图起始位置的y坐标 int width:外接矩形的宽度 int height:外接矩形的高度 int startAngle:起始角度 int arcAngle:相对于起始角度,弧的成角范围
17
6.4.2 填充弧
语法如下:
fillArc(int x,int y,int width,int height,int startAngle,int arcAngle);
darkGray 深灰 gray 灰
lightGray 浅灰
magenta 品红 pink 粉红
orange 橙色
yellow黄色
white 白
black 黑
我们可以直接使用 如:g.setColor(Color.red);
24
import java.applet.*; import java.awt.*; public class setColour1 extends Applet { public void paint(Graphics g)
int x:绘图起始位置的x坐标 int y:绘图起始位置的y坐标 int width:矩形的宽度 int height:矩形的高度 int arcwidth:要绘制矩形的弧宽 int archeight:要绘制矩形的弧高。

JAVA核心编程技术全套课件完整版ppt教学教程最新最全

} }
1.3 Java程序运行环境配置与使用
1.3.3使用命令行工具
首先点击【开始】,选择【运行】,输入cmd命令,切换路径至D:\; 然后输入javac HelloWorld.java,编译程序,成功编译后无结果输出;编译 成功后输入java HelloWorld 运行程序。
1.3 Java程序运行环境配置与使用
可使用普通的文本编辑器(如记事本、写字板等)来编写Java程序,专业的开 发工具效率更高。但是Java程序的编译、运行需要安装相应的环境,JDK功能强 大,支持程序的编译、运行(JRE只支持Java程序的运行),JDK的下载、安装比较 简单,通常要配置classpath、path等环境变量,在命令行环境中使用javac命令可 编译Java程序,用java命令可运行应用程序,用appletviewer可运行小应用程序。 Eclipse是Java开发的常用工具,它集编辑、编译、运行于一体,并提供多功能的 图形界面,熟悉Eciplse的使用,是必要、有益的。
1.3 Java程序运行环境配置与使用
1.3.4 使用集成开发环境
2.Eclipse获取与安装
Eclipse是一个开放源代码的项目, 可以到其官方网站上免 费下载Eclipse的最新版本。
在解压后,可以到相应的安装路 径下找到Eclipse.exe文件双击运行。
1.3 Java程序运行环境配置与使用
4字节(即32位) -231~231-1 (即:-21亿~21亿)
8字节(即64位) 4字节(即32位)
-263~263-1 (即:-922亿亿~922亿亿 )
绝对值:3.4e-038 ~3.4e+038
double 8字节(即64位) 绝对值:1.7e-308 ~1.7e+308

Java多媒体编程


教学重点
♣绘制简单图形 ♣Java2D图形 ♣XOR绘图模式 ♣Java图像处理 ♣动画的实现
Java绘图概述
♣JDK中的图形类 ♣图形直角坐标系 ♣Font和Color类
JDK中的图形类
♣Java将用于绘图的对象和操作封装为类。用户在
java.awt.Color ponent java.awt.Font java.awt.FontMetrics java.awt.Polygon java.awt.Graphics ng.Object java.awt.BasicStroke java.awt.GradientPaint java.awt.geom.GeneralPath java.awt.geom.Point2D java.awt.TexturePaint java.awt.geom.Line2D java.awt.geom.RectangularShape java.awt.geom.Arc2D java.awt.geom.Ellipse2D java.awt.geom.Rectangle2D java.awt.geom.RoundRectangle2D java.awt.Point
打印图形
♣要在应用程序中打印图形,必须首先获得

一个PrinterJob对象。PrinterJob类是 java.awt.print包中的抽象类,所以不能用它 来直接创建对象,而是靠它的静态方法 getPrinterJob来获得一个对象, java.awt.print包中还有一个Printable接口, 该接口只有一个print方法,通常我们利用 Printable接口来完成图形的打印
本章小结
♣本章讲述了Java的绘图功能、图像处理技术以及
Java动画,其中绘图功能介绍了一些简单图形和 Java2D图形的绘制,同时还介绍了Java2D的高 级绘图效果以及图形打印功能;图像处理技术介 绍了图像的加载、生成、过滤以及图像跟踪等内 容;最后介绍了Java中如何实现动画。Java提供 了丰富的图形类和图形绘制方法,大大改善了程 序的用户界面,有关图形绘制的技术是Java的比 较高级的应用,通过本章的学习,读者应掌握 Graphics和Graphics2D中的常用方法,能够绘制 各种图形,并用paint和Stroke显示有特色的 Graphics2D图形

java学习第10章PPT教学课件

由调度程序调用,当run()方法返回时, 该线程停止
使调用它的线程立即停止执行
使线程睡眠n毫秒,n毫秒后,线程可以 再次运行
使线程挂起,暂停运行Not Runnable
恢复挂起的线程,使处于可运行状态 Runnable
将CPU控制权主动移交到下一个可运行 线程
2、Thread类的主要方法
setName(String) getName() getPriority() setPriority(int) join()
赋予线程一个名字
取得由setName()方法设置的线程名字的 字符串
返回线程优先级
设置线程优先级
当前线程等待调用该方法的线程结束后, 再往下执行
setDaemon(boole an )
设置该线程是daemon线程还是用户线程, Daemon线程也称服务线程,通常编 成无限循环,在后台持续运行。
例10-1 直接继承Thread类实现多线程
第10章 多线程机制
1.1 Java线程的概念 1.2 Java多线程编程方法 1.3 线程的控制 1.4 线程资源的同步处理
1.多进程
多进程的缺点: • 进程切换开销大; • 进程间的通信很不方便。
2.多线程
• 多线程则指的是在单个程序中可以同时运行多个 不同的线程,执行不同的任务
• 线程切换的开销小 。
例10-2 计数按钮的设计
import java.applet.*; import java.awt.*; class countbutton extends Button implements Runnable {
int count=0; public countbutton(String s) { super(s); } public void run() {
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档