Программирование - это просто
Advertisement
Главная
18.04.2024 г.
Главное меню
Главная
Интернет магазин
Программные продукты
Биржевые роботы
Искусственный интеллект
Математика и информатика
1С:Предприятие
Уроки C#
Уроки Delphi
Уроки программирования
Web-программирование
Дизайн и графика
Компьютер для блондинок
Исходники
Статьи
Платный раздел
Рассказы про компьютеры
Хитрости и секреты
Системный подход
Размышления
Наука для чайников
Друзья сайта
Excel-это не сложно
Все о финансах
.
Java для чайников. Урок 6. События (mouseDown, mouseMove, Event). Печать E-mail
Автор megabax   
03.11.2011 г.
В этой статье я постараюсь максимально просто и понятно изложить основы программирования на языке Delphi

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

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

 

Сегодня мы займемся обработкой событий. События в системе 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, который отвечает за прорисовку апплета, мы просто соединяем эти точки линией.

 

 

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

 

 

Последнее обновление ( 03.11.2011 г. )
 
« След.   Пред. »
 
© 2024 Программирование - это просто
Joomla! - свободное программное обеспечение, распространяемое по лицензии GNU/GPL.
Русская локализация © 2005-2008 Joom.Ru - Русский Дом Joomla!
Design by Mamboteam.com | Powered by Mambobanner.de
Я принимаю Яндекс.Деньги