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

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

Библиотека :: Компьютеры и Программирование :: А.В. Фролов, Г.В. Фролов - Microsoft Visual J++
<<-[Весь Текст]
Страница: из 275
 <<-
 
Images[0].getWidth(this);
      m_nImgHeight = m_Images[0].getHeight(this);
    }  
    
    // Перерисовываем окно аплета
    repaint();

    // Запускаем цикл рисования изображений
    while (true)
    {
      try
      {
        // Рисуем текущее изображение
        displayImage(m_Graphics);

        // Увеличиваем номер текущего изображения
        m_nCurrImage++;

        // Если достигли максимального номера,
        // начинаем с самого начала
        if(m_nCurrImage == NUM_IMAGES)
          m_nCurrImage = 0;

        // Выполняем задержку в 30 миллисекунд
        Thread.sleep(30);
      }
      
      // Если в процессе рисования возникло
      // исключение, останавливаем задачу
      catch (InterruptedException e)
      {
        stop();
      }
    }
  }
}
   Листинг 4.8 содержит исходный текст документа HTML, созданного для аплета 
CDRotation.
Листинг 4.8. Файл CDRotation\CDRotation.html


CDRotation




The source. Описание исходных текстов Рассмотрим наиболее важные методы нашего приложения. Метод start В задачу метода start, который получает управление при отображении окна аплета, входит создание и запуск задачи, отображающий кадры видеофильма с изображением вращающегося компакт-диска: if (m_CDRotation == null) { m_CDRotation = new Thread(this); m_CDRotation.start(); } Задача создается как объект класса Thread, причем конструктору передается ссылка на главный класс аплета. Поэтому при запуске задачи управление получит метод run, определенный в классе аплета. Метод stop Метод stop останавливает работу задачи, когда окно аплета исчезает с экрана: if(m_CDRotation != null) { m_CDRotation.stop(); m_CDRotation = null; } Для остановки вызывается метод stop. Метод paint Сразу после получения управления, метод paint закрашивает окно аплета белым цветом и рисует вокруг него черную рамку. Затем метод проверяет содержимое флага m_fAllLoaded. Этот флаг установлен в значение true, когда все кадры видеофильма загружены и сброшен в значение false, когда загрузка кадров еще не завершена. Последняя ситуация возникает всегда при первом вызове метода paint. Если все изображения загружены, метод paint вызывает метод displayImage, определенный в нашем приложении: if(m_fAllLoaded) { displayImage(g); } Этот метод, о котором мы еще расскажем подробнее, отображает в окне аплета текущий кадр видеофильма. Если же кадры видеофильма еще не загружены, в окне аплета отображается соответствующее сообщение: else g.drawString("Подождите, идет загрузка...", 10, dimAppWndDimension.height / 2); Метод run Метод run работает в рамках от
 
<<-[Весь Текст]
Страница: из 275
 <<-