|
оку состояния
записывается текстовая строка Mouse DragНажатие клавиши мышиВ месте
расположения курсора выводятся текущие координаты курсора мыши. Дополнительно в
строку состояния записывается текстовая строка Mouse DownОтжатие клавиши мышиВ
строку состояния записывается текстовая строка Mouse UpКурсор мыши входит в
область окна аплетаВ строку состояния записывается текстовая строка Mouse
pointer enters applet's windowКурсор мыши выходит из области окна аплетаВ
строку состояния записывается текстовая строка Mouse pointer leaves applet's
window
Внешний вид окна аплета, в котором отображаются координаты курсора, показан
на рис. 4.2.
Рис. 4.2. Внешний вид окна аплета MouseClick, в котором отображаются координаты
курсора
Исходные тексты приложения
Файл исходного текста приложения MouseClick представлен в листинге 4.1.
Листинг 4.1. Файл MouseClick\MouseClick.java
// =========================================================
// Обработка событий от мыши
//
// (C) Фролов А.В, 1997
//
// E-mail: [email protected]
// WWW: http://www.glasnet.ru/~frolov
// или
// http://www.dials.ccas.ru/frolov
// =========================================================
import java.applet.*;
import java.awt.*;
public class MouseClick extends Applet
{
// Текущие координаты курсора при нажатии на
// кнопку мыши
Dimension dimMouseCursor;
// Временная переменная для хранения события
Event ev;
// -------------------------------------------------------
// getAppletInfo
// Метод, возвращающей строку информации об аплете
// -------------------------------------------------------
public String getAppletInfo()
{
return "Name: MouseClick\r\n" +
"E-mail: [email protected]" +
"WWW: http://www.glasnet.ru/~frolov" +
"Author: Alexandr Frolov\r\n" +
"Created with Microsoft Visual J++ Version 1.0";
}
// -------------------------------------------------------
// paint
// Метод paint, выполняющий рисование в окне аплета
// -------------------------------------------------------
public void paint(Graphics g)
{
// Определяем текущие размеры окна аплета
Dimension dimAppWndDimension = size();
// Выбираем в контекст отображения желтый цвет
g.setColor(Color.yellow);
// Закрашиваем внутреннюю область окна аплета
g.fillRect(0, 0,
dimAppWndDimension.width - 1,
dimAppWndDimension.height - 1);
// Выбираем в контекст отображения черный цвет
g.setColor(Color.black);
// Рисуем рамку вокруг окна аплета
g.drawRect(0, 0,
dimAppWndDimension.width - 1,
dimAppWndDimension.height - 1);
// Отображаем текущие координаты курсора мыши
// в точке, где находится этот курсор
g.drawString("(" + ev.x + "," + ev.y + ")", ev.x, ev.y);
}
// -------------------------------------------------------
// mouseDown
// Обработка щелчка кнопкой мыши
// -------------------------------------------------------
public boolean mouseDown(Event evt, int x, int y)
{
// Определяем и сохраняем текущие координаты
// курсора мыши
dimMouseCursor = new Dimension(x, y);
// Сохраняем событие во временной переменной
ev = evt;
// Если количествао щелчков больше 1, считаем что
// сделан двойной щелчок
if(evt.clickCount > 1)
// Выводим сообщение о двойном щелчке
showStatus("Mouse Double Click");
// Сделан одиночный щелчок
else
// Выводим сообщение о простом щелчке
showStatus("Mouse Down");
// Перерисовываем окно аплета
repaint();
// Возвращаем значение true при успешной
// обработке события
return true;
}
// -------------------------------------------------------
// mouseUp
// Отпускание клавиши мыши
// -------------------------------------------------------
public boolean mouseUp(Event evt, int x, int y)
{
// Выводим сообщение в строке состояния
showStatus("Mouse Up");
return true;
}
// -------------------------------------------------------
// mouseDrag
// Перемещение курсора мыши при нажатой клавише
// -------------------------------------------------------
public boolean mouseDrag(Event evt, int x, int y)
{
// Выво
|
|