Вступление
Примеры Словарь Вопросы
Sun Microsystems

Примеры программирования на Java

Фильм
(Film.java)

Описание апплета
Пример работы апплета

import java.util.*;
import java.awt.*;
import java.applet.*;

//=================================================

public class Film extends Applet implements Runnable //Создание нового подкласса
	
	{
	
	MediaTracker tracker; // Обьект tracker параллельно проверяет состояние
			      // вывода любого количества изображений.
			      // То есть класс MediaTracker позволяет
			      //загружать все изображения синхронно, не
			      // заботясь о методе imageUpdate().
	int track;
	final int NumberImages = 3; //Количество кадров (картинок) в фильме
	int count = 0; // счетчик
	Thread thread; // объект типа поток
	Image img[] = new Image[NumberImages];//Массив для загружаемых 
					      //изображений
	String description[]; 	// Массив с названиями кадров
        int width; // Данные переменные хранят ширину и
	int height; // высоту "экрана"
public void init()
 	{
 	 tracker = new MediaTracker(this);
 	 track = 0;
 	 get_descriptions();//Заполнение массива названий
 	 width = size().width;  
	 height = size().height; 
 	// Считывание изображений в память
 	 while( track <= (NumberImages-1))
 	 {
 	  img[track] = getImage(getCodeBase(), track + ".jpg");
 	  tracker.addImage(img[track], track);
 	  track++;
 	 }
 	}
 	
 public void paint(Graphics g)
  {
	int done_count = 0;
	
	
	for (int i=0; i= track)
	     count = 0;
	 }
	 
	 else
	 g.drawString("Loading...", width/2-30,height/2);
  }
//==============================================================
  	void get_descriptions() // Задание массива-описания
	    {
	       description = new String[NumberImages];
	       
	       description[0] = new String("Ultra 5");
	       description[1] = new String("Ultra 10");
	       description[2] = new String("Ultra 60");
	    }

//========================================================================
 public void start()
     {
       thread = new Thread(this);// Создается объект Thread,
       thread.start();		// а затем запускается поток
      }
 public void stop()
     {
       thread.stop();
     }
 
 public void run()
    {
     while (true) // Запущен, пока аплет не будет закрыт
     {
     repaint();
     try
       {
         Thread.sleep(2000); // Задержка между кадрами 2 секунды
       }
     catch (InterruptedException e)
      {
      }
     }
    }
  }