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, автор оставляет за собой право публиковать в рассылках ваши письма, если в письме прямо неоговорено нежелание его публиковать.
|
Надо же, я и не подозревал, что это так сложно, а на практике все просто...
ОтветитьУдалитьДо этого читала уроки, казалось все не так уж и трудно. А данный урок заставил призадуматься((
ОтветитьУдалитьИнтересно будет опробовать данный язык.
ОтветитьУдалитьСпасибо большое за урок, очень выручил!
ОтветитьУдалитьЯва не для лохов, встроенные объекты это очень интересная тема!
ОтветитьУдалитьСпасибо за пример, очень даже пригодился.
ОтветитьУдалитьИнтересно опробовать данный язык. Спасибо большое за урок!
ОтветитьУдалитьУрок очень полезный! Большое спасибо!
ОтветитьУдалитьИнтересный и полезный урок! Спасибо!
ОтветитьУдалитьНачала недавно изучать Java, ищу качественный и доступный материал. Спасибо, очень интересный урок.
ОтветитьУдалитьДоходчиво, спасибо за урок.
ОтветитьУдалитьСамое доходчивое объяснение, из всех встреченных ранее! Спасибо автору!
ОтветитьУдалитьБудем изучать - не лишнее в нашей современной жизни
ОтветитьУдалитьХочу выучить этот язык и знать его в совершенстве...
ОтветитьУдалитьУже два месяца пытаюсь его осилить. Печально но пока безуспешно.
ОтветитьУдалитьОчень интересно! Спасибо за информацию!
ОтветитьУдалитьОчень жаль времени на освоение. Это наверное не для средних умов...
ОтветитьУдалитьсупер !!!очень интересно и понятно !!!
ОтветитьУдалитьИнтересно попробовать язык Java, спасибо за статью!
ОтветитьУдалитьспасибо за статью. отличная статья и полезная. уверен она многим поможет, как и мне!!
ОтветитьУдалитьСтатья отличная, коротко и понятно, хотя всему одной статьей не научится^_^
ОтветитьУдалитьХороший урок, полезно.
ОтветитьУдалитьОчень познавательно, я раньше слышал про java, но не знал что это, а теперь вот все понял. Спасибо.
ОтветитьУдалитьНачинала изучение программирования с языка С++, поэтому переход на java дался достаточно легко. Статья действительно интересная, хотя неискушенного читателя может и испугать
ОтветитьУдалитьБуду изучать, спасибо за урок
ОтветитьУдалитьспасибо,интересная статься)
ОтветитьУдалитьИнтересно. Если разобраться, то не так уж и сложно.
ОтветитьУдалитьсложно все ето но попробовать можно) спасибо!
ОтветитьУдалить