麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

采用多線程制作動畫

2019-11-18 13:58:18
字體:
來源:轉載
供稿:網友

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;
}

上一篇:布爾型

下一篇:編譯器-Javac.exe

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 性大片性大片免费 | 中文字幕在线观看视频一区 | 激情宗合 | 欧美高清一级片 | 国产一区二区三区网站 | 九九视频在线观看6 | 日韩精品a在线观看 | h视频免费在线 | 91成人在线免费 | www.com香蕉| 国产无遮挡一区二区三区毛片日本 | 国产精品视频免费在线观看 | 欧美成人免费在线视频 | 在线成人免费观看 | 深夜影院一级毛片 | 最近日本电影hd免费观看 | 国产成年人在线观看 | 成人午夜视频在线观看 | 国产精品免费观看视频 | 国产片91 | 成人国产精品免费 | 欧美精品18videos性欧美 | 成人在线视频一区 | 久久久久久久亚洲视频 | 在线播放一级片 | 羞羞草视频 | 国产精品免费在线 | 精品麻豆cm视频在线看 | 日韩精品中文字幕一区二区 | 久久99深爱久久99精品 | 成人勉费视频 | 日韩视频www | 欧美一级免费在线观看 | 亚洲国产成人一区 | 日本一区二区在线 | 成年人视频在线免费播放 | 一级免费大片 | 国产亚洲精品久久久久5区 男人天堂免费 | 国产精品自拍啪啪 | 欧美成人免费电影 | 日韩黄色av |