国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

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

Java Applet動畫設計

2019-11-18 11:35:47
字體:
來源:轉載
供稿:網友

  Applet是在瀏覽器中運行的小程序,java也是從Applet開始風靡世界的。通過編寫這個Applet,我們可以學習到如下知識:

  1. Applet及JApplet中的主要接口

  2. 圖像的裝載及MediaTracker的使用

  3. 線程的使用及多個線程直接的通訊

  4. Thread.join()方法的使用

  5. volatile要害字的使用

  首先看看運行效果:點擊運行

  動畫的主要部分是一個Applet,從codebase中讀取一組圖片文件,然后每隔1秒輪換顯示一張。代碼如下:

import javax.swing.JApplet;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.MediaTracker;
public class Animate extends JApplet
{
 //圖片數量
 PRivate static final int NUM_OF_PIC = 4;
 int count;
 Image pics[];
 TimerThread timer;
 public void init()
 {
  count = 1;
  pics = new Image[NUM_OF_PIC];
  MediaTracker tracker = new MediaTracker(this);
  for(int i = 0; i<NUM_OF_PIC; i++)
  {
   //將圖片按照0,1,...,NUM_OF_PIC -1,放置在目錄中,格式為.jpg
   pics[i] = getImage(getCodeBase(), new Integer(i).toString()+".jpg");
   tracker.addImage(pics[i], 0);
  }
  tracker.checkAll(true);
 }
 public void start()
 {
  timer = new TimerThread(this, 1000);
  timer.start();
 }
 public void stop()
 {
  timer.shouldRun = false;
  try
  {
   timer.join();
   //等待timer線程退出
  }
  catch (InterruptedException e){};
 }
 public void paint(Graphics g)
  {
   g.drawImage(pics[count++], 0, 0, null);
   if(count == NUM_OF_PIC) count = 0;
  }
}

  動畫的控制由一個專門的線程TimerThread進行處理,

import java.awt.Component;
public class TimerThread extends Thread
{
 Component comp;
 int timediff;
 // shouldRun聲明為volatile
 volatile boolean shouldRun;
 public TimerThread(Component comp, int timediff)
 {
  super("TimerThread(" + timediff + " millseconds");
  this.comp = comp;
  this.timediff = timediff;
  shouldRun = true;
 }
 public void run()
 {
  while(shouldRun)
  {
   try
    {
    comp.repaint();
    sleep(timediff);
    }
   catch (Exception e){}
   }
 }
} photoshop教程 數據結構 五筆輸入法專題 QQ病毒專題 共享上網專題 Google工具和服務專題



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 平定县| 子长县| 罗源县| 嘉禾县| 牡丹江市| 木里| 宁强县| 泰兴市| 昭苏县| 梁山县| 东至县| 佛山市| 崇信县| 青龙| 巴彦淖尔市| 胶南市| 信丰县| 禹城市| 陵川县| 内江市| 灌南县| 耿马| 咸丰县| 永和县| 白沙| 隆回县| 改则县| 嘉义县| 老河口市| 林州市| 枣阳市| 中江县| 固原市| 巍山| 兴宁市| 康保县| 高密市| 剑川县| 南溪县| 武义县| 平顶山市|