Отправляет email-рассылки с помощью сервиса Sendsay

Изучаем язык Java

  Все выпуски  

Изучаем язык Java


Java для чайников. Урок 6. События (mouseDown, mouseMove, Event).

Внимание!!! Новый проект "Социальная сеть проекта easypog.ru. Консультации экспертов".

 

Посмотреть пример апплета, разработанного на данном уроке, можно здесь.

 

Сегодня мы займемся обработкой событий. События в системе Windows и других многозадачных системах могут быть разные: нажатие на кнопочку мыши, нажатие на кнопку на клавиатуре, перемещение указателя мыши и другие. Java-апплеты могут перехватывать такие события и как то реагировать на на них.  Для демонстрации этой возможности Java попробуем создать апплет, в котором можно рисовать мышкой кривую линию:

 

Java для чайников. Урок 6. События (mouseDown, mouseMove, Event).

 

Для перехвата событий мыши в данном примере мы будет использовать предопределенные методы класса Applet mouseDown и mouseMove:

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 mouseDown(Event evt, int x, int y) {

        if(!drawing) {

            startPoint.x=x;

            startPoint.y=y;

        }

        drawing=!drawing;

        return true;

    }

   

    public boolean mouseMove (Event evt, int x, int y) {

        if((drawing)&&(numPoints<1000)) {

            points[numPoints]=new Point(x,y);

            ++numPoints;

            repaint();

        }

        return true;

    }

}

 

Работает этот апплет следующим образом: при нажатии на кнопочку мыши меняется режим (переменная drawing), при перемещении мыши, если у нас режим drawing включен, запоминается позиция, куда была перемещена мышь. В методе paint, который отвечает за прорисовку апплета, мы просто соединяем эти точки линией.

 

С уважением, Шуравин Александр, e-mail: megabax@rambler.ru, автор оставляет за собой право публиковать в рассылках ваши письма, если в письме прямо неоговорено нежелание его публиковать.

 

 

 


В избранное