Java双缓冲技术

Java双缓冲技术


2024年3月11日发(作者:)

Java双缓冲技术

Java的强大特性让其在游戏编程和多媒体动画处理方面也毫不逊色。在Java游戏编程和动画编程中最常

见的就是对于屏幕闪烁的处理。本文从J2SE的一个再现了屏幕闪烁的Java Appilication简单动画实例展开,

对屏幕闪烁的原因进行了分析,找出了闪烁成因的关键:update(Graphics g)函数对于前端屏幕的清屏。由此引

出消除闪烁的方法——双缓冲。双缓冲是计算机动画处理中的传统技术,在用其他语言编程时也可以实现。本文

从实例出发,着重介绍了用双缓冲消除闪烁的原理以及双缓冲在Java中的两种常用实现方法(即在

update(Graphics g)中实现和在paint(Graphics g)中实现),以期读者能对双缓冲在Java编程中的应用能有个

较全面的认识。

关键词:Java 消除闪烁 双缓冲

一、问题的引入

在编写Java多媒体动画程序或用Java编写游戏程序的时候,我们得到的动画往往存在严重的闪烁(或图

片断裂)。这种闪烁虽然不会给程序的效果造成太大的影响,但着实有违我们的设计初衷,也给程序的使用者造

成了些许不便。闪烁到底是什么样的呢?下面的JavaApplication再现了这种屏幕闪烁的情况:

//代码段一[①],闪烁的再现

import .*;

import .*;

public class DoubleBuffer extends Frame//主类继承Frame类

{

public paintThread pT;//绘图线程

public int ypos=-80; //小圆左上角的纵坐标

public DoubleBuffer()//构造函数

{

pT=new paintThread(this);

izable(false);

e(300,300); //设置窗口的首选大小

ible(true); //显示窗口

();//绘图线程启动

}

public void paint(Graphics scr) //重载绘图函数

{

or();//设置小圆颜色

al(90,ypos,80,80); //绘制小圆

}

public static void main(String[] args)

{

DoubleBuffer DB=new DoubleBuffer();//创建主类的对象

dowListener(new WindowAdapter()//添加窗口关闭处理函数

{


发布者:admin,转转请注明出处:http://www.yc00.com/web/1710121075a1704049.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信