Druzya.org
Возьмемся за руки, Друзья...
 
 
Наши Друзья

Александр Градский
Мемориальный сайт Дольфи. 
				  Светлой памяти детей,
				  погибших  1 июня 2001 года, 
				  а также всем жертвам теракта возле 
				 Тель-Авивского Дельфинариума посвящается...

Библиотека :: Компьютеры и Программирование :: А.В. Фролов, Г.В. Фролов - Microsoft Visual J++
<<-[Весь Текст]
Страница: из 275
 <<-
 
------------------------------------------
  // stop
  // Метод вызывается, когда окно аплета исчезает с экрана
  // -------------------------------------------------------
  public void stop()
  {
    if (m_CDRotation != null)
    {
      m_CDRotation.stop();
      m_CDRotation = null;
    }
  }

  // -------------------------------------------------------
  // run
  // Метод, который работает в рамках отдельной задачи
  // Он рисует в окне аплета изображения - кадры
  // клипа "вращающийся компакт-диск"
  // -------------------------------------------------------
  public void run()
  {
    // Инициализируем номер текущего изображения
    m_nCurrImage = 0;
    
    // Проверяем, все ли изображения загружены.
    // Если нет, загружаем их
    if (!m_fAllLoaded)
    {
      // Перерисовываем окно аплета
      repaint();

      // Получаем контекст отображения для окна 
      m_Graphics = getGraphics();

      // Создаем массив изображений
      m_Images   = new Image[NUM_IMAGES];

      // Создаем объект MediaTracker для контроля
      // загружки изображений
      MediaTracker tracker = new MediaTracker(this);

      // Переменная для хранения имени файла изображения
      String strImage;

      // Цикл загрузки изображений
      for (int i = 0; i < NUM_IMAGES; i++)
      {
        // Записываем в строку strImage имя текущего файла
        // с изображением
        strImage = "images/cdimg0" + 
          ((i < 10) ? "0" : "") + i + ".gif";

        // Инициируем получение изображения
        m_Images[i] = getImage(getDocumentBase(), strImage);

        // Добавляем изображение в объект MediaTracker
        tracker.addImage(m_Images[i], 0);
      }

      // Ожидаем окончание загрузки всех изображений
      try
      {
        tracker.waitForAll();

        // Если не было ошибок, устанавливаем флаг
        // окончания загрузки
        m_fAllLoaded = !tracker.isErrorAny();
      }
      catch (InterruptedException e)
      {
      }
      
      // Если при загрузке изображений произошла ошибка,
      // останавливаем задачу и рисуем сообщение об
      // ошибке
      if (!m_fAllLoaded)
      {
        stop();
        m_Graphics.drawString(
          "При загрузке изображений произошла ошибка",
          10, size().height / 2);
        
        return;
      }
      
      // Сохраняем ширину и высоту первого изображения
      m_nImgWidth  = m
 
<<-[Весь Текст]
Страница: из 275
 <<-