|
// mouseMove
// Перемещение курсора мыши при отжатой клавише
// -------------------------------------------------------
public boolean mouseMove(Event evt, int x, int y)
{
// Отключаем режим рисования
bDrawing = false;
return true;
}
}
Исходный текст документа HTML, созданного для аплета LineDraw, вы найдете в
листинге 4.4.
Листинг 4.4. Файл LineDraw\LineDraw.html
LineDraw
The source.
Описание исходного текста
В нашем аплете мы будем создавать объект класса Vector, который является
массивом с динамически изменяемым размером. Этот класс имеет полное имя java.
util.Vector, поэтому мы подключаем соответствующую библиотеку классов:
import java.util.*;
Поля класса LineDraw
В нашем классе мы определили несколько полей, предназначенных для хранения
текущих координат рисуемых линий.
В переменную dmDown класса Dimension записываются координаты курсора на
момент нажатия клавиши мыши. Если пользователь нажал клавишу мыши для того
чтобы приступить к рисованию линии, это будет координатами начала линии.
Когда пользователь отпускает клавишу мыши, координаты записываются в
переменную dmUp.
В процессе рисования линии метод mouseDrag стирает ранее нарисованную линию
и рисует новую. Координаты конца старой линии хранятся в переменной dmPrev.
Переменная bDrawing типа boolean хранит текущее состояние аплета. Когда
аплет находится в состоянии рисования линии, в эту переменную записывается
значение true, а когда нет - значение false.
И, наконец, переменная lines типа Vector является динамическим массивом, в
котором хранятся координаты нарисованных линий.
Метод getAppletInfo
Метод getAppletInfo возвращает информацию об аплете и не имеет никаких
особенностей.
Метод init
Метод init сбрасывает признак рисования, записывая в поле bDrawing значение
false, а также создает новый динамический массив в виде объекта класса Vector:
public void init()
{
bDrawing = false;
lines = new Vector();
}
Метод paint
После обычной для наших аплетов раскраски фона и рисования рамки метод paint
перебирает в цикле все элементы массива lines, рисуя линии:
|
|