当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:16:00  来源:本站整理

采纳多线程制作动画[Java编程]

赞助商链接



  本文“采纳多线程制作动画[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

import java.awt.*;
import java.applet.*;
//注意到这个程序和Hello程序有什么不一样吗?在这个程序中多了implements Runnable.
public class carton extends Applet implements Runnable
{
Image img;
Thread thd = null;
int i;
int imgWidth = 150;
int imgHeight = 150;
int ncyc=1 ;
String namestr[] = new String[5] ;
//当线程被激活时开始运行run()函数.
public void run()
{
for (int j=0; j<5; j++)
{
namestr[j] = Integer.toString(j,8)+".jpg" ;
}
ncyc = -1 ;
while (true)
{
if (ncyc<=3) ncyc= ncyc+1 ; //初始化循环掌握参数
else ncyc = 0 ;
img = getImage(getCodeBase(), namestr[ncyc]) ;
if (img != null)
{
i=imgHeight;
//repaint();
}
try {Thread.sleep(1000);} catch (InterruptedException e){}
i=0;
while (i<imgHeight)
{
repaint();
try {Thread.sleep(50);} catch (InterruptedException e){}
i+=4;
}
}
}

//每次代码在新位置处重画位图,它都要调用repaint.该函数调用可重载的update办法.update办法与paint办法是相同的,这里为啥不用怕paint(Graphics g)呢?除了paint办法在画图前要排除窗口,而update办法不排除(假如你把update办法改名为paint,你会看到有什么差别).

public void update(Graphics g)
{
if (img != null)
{
g.clipRect(0, 0, imgWidth, i);
g.drawImage(img, 0, i - imgHeight, null);
}
}
public void start()
{
if (thd == null)
{
thd = new Thread(this);
thd.start();
}
}
public void stop()
{
thd = null;
}


  以上是“采纳多线程制作动画[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • 采纳多线程制作动画
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .