Java для чайников. Урок 27. События в Java. Класс Event. Продолжение. |
|
|
Автор megabax
|
06.01.2020 г. |
В этой статье я постараюсь максимально просто и понятно изложить основы
программирования на языке Delphi
Java для чайников. Урок 27. События в
Java. Класс Event.
Продолжение.
До сих пор
мы обрабатывали события при помощи специализированных обработчиков. Но в классе
Component есть универсальный метод, позволяющий
обрабатывать любые события. Этот метод handleEvent. Давайте рассмотрим пример.
Это переделанная программе из
урока 6 (еще один вариант реализации):
import
java.awt.*;
import
java.applet.*;
public
class
DrawExample
extends
Applet
{
Point startPoint;
Point points[];
int
numPoints;
boolean
drawing;
public
void
init()
{
startPoint=
new
Point(0,0);
points=new
Point[1000];
drawing=false;
resize(300,400);
}
public
void
paint(Graphics
g)
{
int
oldX=startPoint.x;
int
oldY=startPoint.y;
for(int
i=0;
i<numPoints;
++i)
{
g.drawLine(oldX,
oldY,
points[i].x,points[i].y);
oldX=points[i].x;
oldY=points[i].y;
}
}
public
boolean
handleEvent(Event
evt)
{
switch(evt.id)
{
case
Event.MOUSE_DOWN:
drawing=!drawing;
startPoint.x=evt.x;
startPoint.y=evt.y;
return
true;
case
Event.MOUSE_MOVE:
if((drawing)&&(numPoints<1000))
{
points[numPoints]=new
Point(evt.x,evt.y);
++numPoints;
repaint();
}
return
true;
default:
return
false;
}
}
} |
Реализована программа по другому, но результат ее запуска будет тот же самый:
(С)
Шуравин Александр
|
Последнее обновление ( 07.01.2020 г. )
|