千家信息网

Java动画及自动浏览图片程序怎么开发

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要讲解了"Java动画及自动浏览图片程序怎么开发",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Java动画及自动浏览图片程序怎么开发"吧!电
千家信息网最后更新 2026年11月03日Java动画及自动浏览图片程序怎么开发

这篇文章主要讲解了"Java动画及自动浏览图片程序怎么开发",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Java动画及自动浏览图片程序怎么开发"吧!

电影和电视的画面可以理解为一种动画显示,它们一般以每秒24帧的速度显示图象,利用人眼的暂停效应,产生一个连续的动作显示过程。因此,动画的本质是运动的图形,只要动画的速度(帧速度)足够快,则分散的的静态图形就会合并为一个连续运动的流程。

Java动画的实现,首先用Java.awt包中Graphics类的drawImage()方法在屏幕画出图象,然后通过定义一个线程,让该线程睡眠一段时间,到时后再切换成另外一幅图象,如此循环,从而达到显示动画的目的。

1 有关概念、类及方法

1.1 线程

Java的重要特性之一是其支持多线程的程序设计。在传统的程序设计中,要执行多任务是通过定时器中断等方法,定时监控多个任务的执行情况,采用任务中断切换的方式来轮换执行各个任务,从而达到多任务并发目的。这种方法一方面消耗了大量的内存空间和cpu资源,另一方面会带来系统安全性的问题。而线程作为程序的一个执行流,在某一瞬间可被看成计算过程的一种状态,它比进程更小,并发程度更高,因此也称为轻进程。线程是cpu调度的基本单元,而进程是资源分配的基本单元,线程的引入可以提高系统的吞吐量、提高任务之间的通讯效率、有效利用系统资源。

?线程的创建

线程创建有两种方法,一种是用new产生一个Thread类对象,另外一种方法是实现Runnable接口。在需要实现多继承,并且又要建立多线程时,只能采用Runnable接口方法。我们这里采用第一种方法:

ThreadName=new Thread

?sleep(long)

让线程睡眠一定时间不动作,参数单位为千分之一秒。

?suspend()

挂起线程,暂停其执行。

?resume()

唤醒挂起的线程。

1.2 ToolKit类

它提供了AWT与平台相关类和无关类之间的链接,提供了几种方法来访问与设备相关的一些特征。如从URL或本地系统中检索图象、获取屏幕的显示特征等。在程序中定义一个ToolKit类:ToolKit=getToolKit();

1.3 MediaTracker类

提供了管理图象文件加载的能力。方法StatusID(int id,boolean load)的作用是检测加载图象文件的状态(ABORTED,COMPLETE,ERRORED,LOADING),当检测到状态为COMPLETE时,说明图象加载完成。

2 文字动画

文字动画的实现程序比较简单,首先,用new方法创建一个新进程,用drawString()方法在屏幕显示相应文字,然后让进程睡眠一定时间,时间到后,改变文字显示位置,再重显文字。其中包含一个边界判断,重设坐标的过程,如此往复实现文字动画。程序运行后,在屏幕中央显示"欢迎进入动画世界!",每隔0.15秒向左移动一次,直到屏幕最左端又重新开始显示。具体程序见程序1(Applet小程序)。

3 图象动画

图象动画的实现方法与文字相似,只不过定义了一个Image数组,运用getImage()方法装载相应图象文件到该数组中。程序运行后,可见到一个可爱的小精灵在作抛球动作。另外,基于程序交互性的考虑,增加了两个事件的响应动作,一个是WINDOW_DESTROY,即关闭运行窗口,正常返回。另外一个是MOUSE_DOWN,当鼠标左按钮按下时,暂停线程以便让画面静止,再按一次左按钮,恢复暂停线程,继续显示下一幅画面。

如果将程序中的小精灵图象文件换成图片,并增加延迟时间,则可以实现图片的自动切换,变为自动浏览图片程序,源程序见程序2,

4 动画质量的改善

上一程序的运行后,我们发现了两个问题。第一是程序在图象完全加载之前就开始显示,出现切换过快现象。第二是画面闪烁。

对于前一个问题,可以用Java.awt包中的MediaTracker类来解决,当StatusID()方法返回值为COMPLETE时,说明所有的图象文件加载完毕,此时才开始显示画面。

第二个问题,解决起来要复杂一些。闪烁产生的原因是,在paint()方法中如果计算较为复杂,计算和绘制画面的时间超过了屏幕的刷新周期,则帧的第一部分在一个刷新周期中绘制,其余部分在下一个、甚至更后的周期绘制,这样,在帧的不同部分之间产生时间间隔,由此造成闪烁。解决途径之一是重载update()方法,update()的缺省实现是清除原来背景,然后调用paint()方法。因此通过重载update(),只有在必要时才清除整个背景。

解决途径之二是采用双缓冲技术,双缓冲技术是在后台图形区内创建一个图形对象,将需要绘制的图象绘于其上,然后传给paint()方法,由paint()方法绘于前台,同时,后台图形缓冲区进入下一帧图象的准备。图1为双缓冲技术示意图。

感谢各位的阅读,以上就是"Java动画及自动浏览图片程序怎么开发"的内容了,经过本文的学习后,相信大家对Java动画及自动浏览图片程序怎么开发这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

程序 方法 动画 图象 线程 图片 文字 时间 任务 屏幕 画面 浏览 图形 文件 进程 问题 开发 动作 系统 切换 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网络科技 互联网的科技 A股互联网金融科技公司 互联网科技战争 科技类互联网 科技制造互联网公司 互联网前沿科技 互联网科技视频素材 互联网科技素材视频竖屏 无锡溥仪互联网科技有限公司 科技赋能互联网健康 深圳国际航运科技和互联网 贵州叶脉互联网科技有限公司所属行业 宁夏众和广鑫互联网科技有限公司 南平创想时代互联网科技有限公司 智腾互联网科技有限公司 烟台灵鸽互联网科技有限公司 普陀区互联网教育科技管理办法 上海万顺科技互联网有限公司招聘 美国五大互联网科技公司市值多少 中国互联网科技工作委员会毛军 互联网是不是新科技 科技企业和互联网企业 丰台科技园 互联网公司 温州喔噻互联网科技有限公司 青海科技产业互联网发展 四川互联网展示科技馆设计 下一代互联网重大应用科技园 2021世界互联网领先科技成果发布 前海云享互联网科技
0