JSPCN主页 | JSP空间 | 网站制作 | JSP下载 | JSP论坛 | JSP教程 | 关于JSPCN | 联系我们
JSP虚拟主机,jsp空间,java空间,java虚拟空间,详细请点击进入
做最专业的JSP中文网站 当前位置首页--JAVA技术--JAVA线程  
文章搜索:
关键字 标题
  
JSP中文网内容管理系统(JCMS)
JSP虚拟主机
网络笔记本
网摘,图片,笔记收藏
虚拟服务器

JSPCN文章目录分类
JSP配置[219]JSP基础[136]
中文问题[69]上传问题[27]
JAVABEAN[46]数据库[212]
文件操作[126]图片声音[17]
JSP其他[57]时间相关[16]
JAVAMAIL[72]STRUTS[144]
开发工具[28]教程系列[157]
JSP实例[89]
JAVA基础[421]APPLET[78]
JAVA网络[179]Applica[115]
Servlet[98]XML[163]
J2ME[257]J2EE[374]
考试相关[63]JAVA线程[90]
EJB[261]Swing[26]
Java API[141]声音图片[28]
异常处理[33]JAVA实例[290]
JAVA类[139]SUN[89]
Hibernate[6]JMX[8]
Spring[34]
本版推荐文章 
本版热点文章 
相关文章链接 
 
线程控制动画
作者:     文章来源:
访问次数:214次     加入时间:2007年01月21日
线程是程序的一部分,是系统调度的基本单位。线程是控制动画的理想选择。将动画的工作放在线程上,可以释放出程序的其他部分来处理别的任务。
线程的现实是通过java.lang中的Thread类,要使某一个类能使用线程,必须实现Runnable接口,该接口包含了唯一一个方法run()。run()方法是线程类的核心,--------动画程序中产生运动。通过调用线程的start ()方法,致使run()方法被调用。下边这个程序描绘了一个运动中的圆。

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 ( 100, 0, 100, 100 );
g2D.setColor ( Color.red );
g2D.fillOval ( x, 5, 90, 90 );
}
public void paint( Graphics g )
{
screenBuffer.setColor ( Color.white );
screenBuffer.fillRect (0,0,96,60);
drawCircle ( screenBuffer );
//将缓冲区的图像复制到主缓冲区中
g.drawImage ( screenImage, 130, 100, this );
}
}


Copyright © 2002-2005 JSPCN.net. All rights reserved.
JSP中文网    备案序号:蜀ICP备05001583号
成都恒海科技发展有限公司    成都市一环路南二段6号新瑞楼三楼8号