| |
| 线程控制动画 |
| |
发布者: 发布时间:2007-09-23 |
|
|
|
线程是程序的一部分,是系统调度的基本单位。线程是控制动画的理想选择。将动画的工作放在线程上,可以释放出程序的其他部分来处理别的任务。 线程的现实是通过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 ); } }
|
| (转载文章请保留出处:北天JAVA技术网(www.java114.com)) |
| |
| 更多精彩文章: |
| Java开发中的线程安全选择与Swing |
| java高级多线程编程(一)--关于线程的停止问题 |
| 用Java线程获取优异性能(I)——介绍线程、线程类及Runnable |
| 用Java线程获取优异性能(II)——使用同步连载线程访问关键代码部份 |
| Java 理论与实践:线程池与工作队列 |
| Java 线程/内存模型的缺陷和增强 |
| |
| 最近评论: |
|
|
| 鍥炲 |
|
|
|
| 那个雨天的想法! |
| wow gold,wow power leveling.wow power leveling,wow power leveling,
max(1982) |
|
|
| max sa nv nei |
| maxmaxmaxmaxmaxmaxmaxmaxmaxmaxmaxmax
|
|
|
| 如果真的有来生! |
| 四川旅游,九寨沟旅游,稻城亚丁旅游,四姑娘山旅游,海螺沟旅游,西藏旅游,
max(8654) |
|
|
| 那天的情景! |
| Maple Story mesos,MapleStory mesos,ms mesos,mesos,SilkRoad Gold,
max(9714) |
|
|
| 轻轻走过你的窗前! |
| world of warcraft gold,cheap world of warcraft gold,warcraft gold,world of warcraft gold,cheap world of warcraft gold,warcraft gold, max(4756) |
|
|
| 轻轻走过你的窗前! |
| world of warcraft gold,cheap world of warcraft gold,warcraft gold,world of warcraft gold,cheap world of warcraft gold,warcraft gold max(5108) |
|
|
| 快乐情人节! |
| wow gold,wow gold,wow gold,wow gold,wow gold,wow gold,wow gold buy wow gold for cheap.
max(3170) |
|
|
| 昨夜的狂想曲! |
| wow gold,WoW Gold,world of warcraft gold,WoW Gold, max(5605) |
|
|
| 没有情人的情人节! |
| wow gold,wow power leveling.wow power leveling,wow power leveling,
max(8076) |
|
|
| |
| 免责声明:该文章由网友发表,如果对您造成侵权,请联系站长。 |
|