[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
|
|
Добавь в скайп 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
|
Отличный разбор немного изучаю!
|
|
|
|