.
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;

        }

 

    }

   

}

 

Реализована программа по другому, но результат ее запуска будет тот же самый:

 

Java для чайников. Урок 27. События в Java. Класс Event. Продолжение.

 

 

 

(С) Шуравин Александр

 

 

Последнее обновление ( 07.01.2020 г. )