воскресенье, 29 января 2012 г.

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



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

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

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

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



Для перехвата событий мыши в данном примере мы будет использовать предопределенные методы класса 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, автор оставляет за собой право публиковать в рассылках ваши письма, если в письме прямо неоговорено нежелание его публиковать.






28 комментариев:

  1. Надо же, я и не подозревал, что это так сложно, а на практике все просто...

    ОтветитьУдалить
  2. До этого читала уроки, казалось все не так уж и трудно. А данный урок заставил призадуматься((

    ОтветитьУдалить
  3. Интересно будет опробовать данный язык.

    ОтветитьУдалить
  4. Спасибо большое за урок, очень выручил!

    ОтветитьУдалить
  5. Ява не для лохов, встроенные объекты это очень интересная тема!

    ОтветитьУдалить
  6. Спасибо за пример, очень даже пригодился.

    ОтветитьУдалить
  7. Интересно опробовать данный язык. Спасибо большое за урок!

    ОтветитьУдалить
  8. Урок очень полезный! Большое спасибо!

    ОтветитьУдалить
  9. Интересный и полезный урок! Спасибо!

    ОтветитьУдалить
  10. Начала недавно изучать Java, ищу качественный и доступный материал. Спасибо, очень интересный урок.

    ОтветитьУдалить
  11. Доходчиво, спасибо за урок.

    ОтветитьУдалить
  12. Самое доходчивое объяснение, из всех встреченных ранее! Спасибо автору!

    ОтветитьУдалить
  13. Будем изучать - не лишнее в нашей современной жизни

    ОтветитьУдалить
  14. Хочу выучить этот язык и знать его в совершенстве...

    ОтветитьУдалить
  15. Уже два месяца пытаюсь его осилить. Печально но пока безуспешно.

    ОтветитьУдалить
  16. Очень интересно! Спасибо за информацию!

    ОтветитьУдалить
  17. Очень жаль времени на освоение. Это наверное не для средних умов...

    ОтветитьУдалить
  18. супер !!!очень интересно и понятно !!!

    ОтветитьУдалить
  19. Интересно попробовать язык Java, спасибо за статью!

    ОтветитьУдалить
  20. спасибо за статью. отличная статья и полезная. уверен она многим поможет, как и мне!!

    ОтветитьУдалить
  21. Статья отличная, коротко и понятно, хотя всему одной статьей не научится^_^

    ОтветитьУдалить
  22. Очень познавательно, я раньше слышал про java, но не знал что это, а теперь вот все понял. Спасибо.

    ОтветитьУдалить
  23. Начинала изучение программирования с языка С++, поэтому переход на java дался достаточно легко. Статья действительно интересная, хотя неискушенного читателя может и испугать

    ОтветитьУдалить
  24. Буду изучать, спасибо за урок

    ОтветитьУдалить
  25. спасибо,интересная статься)

    ОтветитьУдалить
  26. Интересно. Если разобраться, то не так уж и сложно.

    ОтветитьУдалить
  27. сложно все ето но попробовать можно) спасибо!

    ОтветитьУдалить