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

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

Библиотека :: Компьютеры и Программирование :: А.В. Фролов, Г.В. Фролов - Microsoft Visual J++
<<-[Весь Текст]
Страница: из 275
 <<-
 
ельно с кодом 
аплета, будет выполнять метод run, определенный в классе аплета.
   Ссылка на созданную задачу записывается в поле m_Rectangles.
   Метод stop
   Метод stop нашего аплета не имеет никаких особенностей. Он вызывается, когда 
пользователь покидает страницу сервера Web с аплетом. В этом случае метод 
останавливает задачу, вызывая для этого метод stop класса Thread:
public void stop()
{
  if (m_Rectangles != null)
  {
    m_Rectangles.stop();
    m_Rectangles = null;
  }
}
   После остановки в поле m_Rectangles записывается значение null. Это является 
признаком того, что задача остановлена.
   Метод run
   Программный код метода run работает в рамках отдельной задачи. Он рисует в 
окне аплета закрашенные прямоугольники. Прямоугольники имеют случайные 
координаты, расположение и цвет.
   Для того чтобы рисовать, необходимо получить контекст отображения. Так как 
наша задача, точнее, метод run определен в классе аплета, то он может получить 
контекст отображения, вызвав метод getGraphics:
Graphics g = getGraphics();
   Для рисования нам также нужно знать размеры окна аплета. Мы получаем эти 
размеры при помощи метода size:
Dimension dimAppWndDimension = size();
   Вооружившись контекстом отображения и размерами окна аплета, задача входит в 
бесконечный цикл рисования прямоугольников. 
   В качестве генератора случайных чисел мы используем метод random из класса 
Math, который при каждом вызове возвращает новое случайное число типа double, 
лежащее в диапазоне значений от 0.0 до 1.0.
   Координаты по осям X и Y рисуемого прямоугольника определяются простым 
умножением случайного числа, полученного от метода random, соответственно, на 
ширину и высоту окна аплета:
x = (int)(dimAppWndDimension.width  * Math.random());
y = (int)(dimAppWndDimension.height * Math.random());
   Аналогично определяются размеры прямоугольника, однако чтобы прямоугольники 
не были слишком крупными, мы делим полученные значения на 2:
width  = (int)(dimAppWndDimension.width * Math.random())/2;
height = (int)(dimAppWndDimension.height * Math.random())/2;
   Так как случайное число имеет тип double, в обоих случаях мы выполняем явное 
преобразование результата вычислений к типу int.
   Для случайного выбора цвета прямоугольника мы вычисляем отдельные цветовые 
компоненты, умножая значение, полученное от метода random, на число 255:
rColor = (int)(255 * Math.random());
gColor = (int)(255 * Math.random());
bColor = (int)(255 * Math.random());
   Полученные значения цветовых компонент используются в конструкторе Color для 
получения цвета. Этот цвет устанавливается в контексте отображения методом 
setColor:
g.setColor(new Color(rColor, gColor, bColor));
   Теперь все готово для рисования прямоугольника, которое мы выполняем при 
помощи метода fillRect:
g.fillRect(x, y, width, height);
   После рисования прямоугольника метод run задерживает свою работу на 50 
миллисек
 
<<-[Весь Текст]
Страница: из 275
 <<-