[Java] Урок: События (mouseDown, mouseMove, Event). - Форум Cheat-Master.ru
  • Страница 1 из 1
  • 1
Модератор форума: Alowir, Sanoxxx  
[Java] Урок: События (mouseDown, mouseMove, Event).
[CM]Jaxson Дата: Вторник, 09.10.2012, 19:42 | Сообщение # 1
٩(̾●̮̮̃̾•̃̾)۶
Сообщений: 801
Статус: Offline
Посмотреть пример апплета, разработанного на данном уроке, можно здесь.

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

Для перехвата событий мыши в данном примере мы будет использовать предопределенные методы класса Applet mouseDown и mouseMove:
Code
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, который отвечает за прорисовку апплета, мы просто соединяем эти точки линией.




[ Skype ] [ Профиль ] [ Mods Pack ] [ VK ] [ Геймеры ]
Помогаю новичкам, по всем вопросом комне в Skype/VK. VK ВЗЛОМАН, НЕ РАБОТАЙТЕ СОМНОЙ. МНЕ ВСЁ ВЗЛОМАЛИ СКАЙП И ВК. СКАЙП ВОССТОНОВИЛ.
[WS]Grenhelgets Дата: Понедельник, 01.12.2014, 17:46 | Сообщение # 2
Боец
Статус: Offline
Добавь в скайп nicelse.ws предложение есть.
CM_BaTbka Дата: Понедельник, 02.03.2015, 11:27 | Сообщение # 3
Боец
Сообщений: 143
Статус: Offline
Добавь в скайп nicelse.ws предложение есть

Цель 100+ репутации [✔]
Цель 200+ репутации [✔]
Цель 300+ репутации.[✔]
Цель 400+ репутации.[✔]
Цель 500+ репутации [✖]
Цель 1000+ репутации [✖]
Cheater CM. [✖]
http://cheat-master.ru/forum/17-344495-1
http://cheat-master.ru/forum/199-429322-1
http://cheat-master.ru/forum/199-429328-1
Surex Дата: Суббота, 02.07.2016, 14:13 | Сообщение # 4
Боец
Сообщений: 137
Статус: Offline
Спасибо бро помог! счастье здоровье тебе

GlaroX Дата: Четверг, 24.11.2016, 03:01 | Сообщение # 5
Боец
Сообщений: 201
Статус: Offline
Отличный разбор немного изучаю!

  • Страница 1 из 1
  • 1
Поиск:
Статистика Форума