| |
--
public boolean mouseEnter(Event evt, int x, int y)
{
if (m_Rectangles != null)
{
// Когда курсор мыши оказывается над поверхностью
// окна аплета, временно приостанавливаем
// задачу рисования прямоугольников
m_Rectangles.suspend();
}
return true;
}
// -------------------------------------------------------
// mouseExit
// Метод вызывается, когда курсор мыши покидает
// окно аплета
// -------------------------------------------------------
public boolean mouseExit(Event evt, int x, int y)
{
if (m_Rectangles != null)
{
// Когда курсор мыши покидает окно аплета,
// возобновляем работу задачи рисования
// прямоугольников
m_Rectangles.resume();
}
return true;
}
}
В листинге 1.4 находится исходный текст документа HTML, созданного
автоматически для нашего аплета.
Листинг 1.4. Файл Rectangles\Rectangles.html
Rectangles
The source.
Описание исходных текстов
Для создания задачи аплет Rectangles реализует интерфейс Runnable, то есть
использует второй из описанных нами методов, как и предыдущий аплет.
Ниже мы рассмотрим наиболее важные методы аплета Rectangles.
Метод paint
В предыдущем приложении метод paint периодически получал управление в
результате периодического вызова метода repaint, выполняемого отдельной задачей.
Метод paint аплета Rectangles вызывается только при инициализации и тогда,
когда нужно обновить окно аплета. Этот метод определяет текущие размеры окна
аплета, закрашивает окно желтым цветом и рисует вокруг окна черную рамку.
Метод start
Когда пользователь начинает просмотр документа HTML, содержащего наш аплет,
метод start создает и запускает задачу. Для создания задачи мы используем
оператор new, а для старта задачи - метод start класса Thread:
public void start()
{
if (m_Rectangles == null)
{
m_Rectangles = new Thread(this);
m_Rectangles.start();
}
}
Обратите внимание, что мы передаем конструктору класса Thread параметр this
- ссылку на аплет. В результате роль задачи, работающей парал
|
|