`
xp9802
  • 浏览: 1202874 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

java双缓冲实例

阅读更多
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Cartoon extends JApplet implements Runnable
{
Graphics screenBuffer = null;//创建图形缓冲区
Image screenImage = null;
private Thread runner;
private int x = 5;
private int move = 1;
public void init ( )
{
screenImage = createImage ( 230, 160 );
screenBuffer = screenImage.getGraphics ( ); 
}
public void start ( )
{
if (runner == null)
{
runner = new Thread( this );
runner.start();
}
}
public void run( )
{
Thread circle = Thread.currentThread ( ); 
while ( runner == circle )//指向同一对象,便开始运行
{
x += move;
if ( ( x > 105 ) || ( x < 5 ))
move *= -1;
repaint ( );
}
}
public void drawCircle( Graphics gc )
{
Graphics2D g2D = ( Graphics2D ) gc;
g2D.setColor ( Color.blue );
g2D.fillRect ( 0, 0, 100, 100 );
g2D.setColor ( Color.yellow );
g2D.fillRect ( 0, 0, 100, 100 );
g2D.setColor ( Color.red );
g2D.fillOval ( x, 5, 90, 90 );
} 
public void paint( Graphics g )
{
screenBuffer.setColor ( Color.white );
screenBuffer.fillRect (100,0,96,60); 
drawCircle ( screenBuffer );
//将缓冲区的图像复制到主缓冲区中
g.drawImage ( screenImage, 0, 0, this );
}
}

 

2
0
分享到:
评论

相关推荐

    Java双缓冲技术原理详细讲解例子Java实用源码整理learns

    本教程将深入探讨Java双缓冲技术的原理,并通过实例源码进行讲解。 双缓冲的核心思想是创建一个后台缓冲区,用于绘制所有图形操作,然后再一次性将完成的图像显示到前台缓冲区(即屏幕)。这样可以避免频繁的屏幕重...

    Java双缓冲技术Java双缓冲技术

    Java双缓冲技术 Java双缓冲技术是计算机动画处理中的传统技术,广泛应用于Java游戏编程和多媒体动画处理中。该技术的主要作用是消除屏幕闪烁,以提高动画的流畅度和用户体验。 Java双缓冲技术的原理是将屏幕分为...

    java双缓冲技术————包含实例及技术详解,适合新手

    ### Java 双缓冲技术详解与实例 #### 一、引言 在Java图形用户界面(GUI)编程中,经常会遇到由于频繁更新屏幕显示而导致的视觉闪烁问题,这不仅影响用户体验,还会降低应用程序的整体质量。为了解决这一问题,...

    双缓冲绘图实例.zip

    这个“双缓冲绘图实例”是一个使用Java实现的示例,旨在展示如何在GUI应用程序中有效地利用双缓冲来提高图形绘制的性能和视觉效果。 双缓冲的基本原理是将绘图操作先在一个“后台缓冲区”完成,然后一次性将整个...

    java源码包---java 源码 大量 实例

     Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...

    java图像处理实例

    `Graphics2D`的批处理和缓冲技术,以及使用双缓冲策略,可以减少闪烁并提高效率。 8. **第三方库**: 虽然Java的标准库已经足够处理许多基本图像操作,但一些第三方库如Java Advanced Imaging (JAI) 和 Apache ...

    商业编程-源码-实例解说双缓冲.zip

    在实际编程中,双缓冲的实现通常依赖于特定的图形库或API,如DirectX、OpenGL或Java的AWT/Swing库。下面是一个简单的双缓冲概念的步骤: 1. **创建双缓冲画布**:首先,你需要创建两个缓冲区,一个用于绘制,一个...

    基于Timer的最简单的双缓冲画图实例教程

    本教程将深入讲解如何利用Java的Timer类实现一个简单的双缓冲画图实例。 双缓冲的基本原理是创建两个缓冲区,一个用于绘制,另一个用于显示。当第一缓冲区完成绘制后,再一次性将整个画面更新到屏幕上,避免了多次...

    JAVA上百实例源码以及开源项目源代码

    Java生成密钥的实例 1个目标文件 摘要:Java源码,算法相关,密钥 Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、...

    Java 图形与动画编程实例(PDG)

    双缓冲是一种将图形先绘制到内存中的临时图像,然后再一次性显示到屏幕上的策略,避免了闪烁现象。 9. **Java 2D API**: Java 2D API是Java图形处理的强大扩展,提供了高级的绘图功能,如路径、文本渲染、渐变填充...

    双缓冲范例之水扁跳舞

    总结来说,"双缓冲范例之水扁跳舞"是一个用实例说明双缓冲技术如何改善动画和游戏画面质量的例子。通过使用双缓冲,我们可以确保动画的平滑过渡,消除闪烁,提供更优质的视觉体验。无论是简单的动画还是复杂的3D游戏...

    Java图像编程实例

    可以考虑使用双缓冲技术减少闪烁,或者利用Java的并发特性优化处理流程。 10. **Swing定时器**: 用于创建周期性的事件,如动画帧的更新,`javax.swing.Timer` 类是一个实用工具。 通过这些核心概念和技巧,你可以...

    DrawPanel双缓冲实现画板

    在Java中实现`DrawPanel`的双缓冲,主要步骤如下: 1. **创建缓冲画布**:首先,我们需要创建一个Graphics2D对象,它是Graphics类的子类,提供了更多的绘图功能和控制。我们通常会从`createImage()`方法获取一个与`...

    JAVA-NIO程序设计完整实例

    **JAVA-NIO程序设计完整实例** Java NIO(New IO)是Java 1.4引入的一个新特性,它为Java提供了非阻塞I/O操作的能力,使得Java在处理I/O时更加高效。NIO与传统的BIO(Blocking I/O)模型相比,其核心在于它允许程序...

    java i/o 实例 编程 学习 教程 复习

    ### Java I/O 实例编程学习教程复习 #### 一、Java I/O 概述 Java I/O(输入/输出)是 Java 编程语言中处理数据流的核心技术之一。通过 I/O,我们可以读取文件、网络数据等外部资源,并将程序产生的数据写入到文件...

    Java开发全面通(教程,实例,资源)

    ### Java开发全面通知识点解析 #### 一、Java基础语法元素 在《Java开发全面通》这份...总之,《Java开发全面通》涵盖了Java编程语言的核心概念和技术要点,通过丰富的实例和资源支持,帮助读者系统地学习Java编程。

    java编程基础,应用与实例

    18.7 双缓冲 338 18.8 巩固练习 340 第19章 Applet 342 19.1 制作Applet 342 19.2 Applet的生命周期 344 19.3 Applet的多媒体处理 346 19.3.1 图像处理 346 19.3.2 声音处理 347 19.4 Applet参数...

    java源码包3

     Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...

    java源码包2

     Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...

    java课件包括ppt和实例

    - 文件复制、缓冲区和对象序列化等实用技巧。 6. **多线程** - 创建线程的方式:通过实现Runnable接口或继承Thread类。 - 线程同步:使用synchronized关键字、wait()、notify()、notifyAll()来避免竞态条件和...

Global site tag (gtag.js) - Google Analytics