.
Java для чайников. Урок 26. События в Java. Класс Event.
Автор megabax   
31.08.2014 г.
В этой статье я постараюсь максимально просто и понятно изложить основы программирования на языке Delphi

Java для чайников. Урок 26. События в Java. Класс Event.

С событиями мы уже сталкивались на уроке 6 уроке 10, уроке 11и уроке 12. Сегодня рассмотрим их более подробно. В частности, если вы заметили, для передачи информации о событии используется класс Event.

И так, давайте досконально изучим этот класс. Начнем с того, что у этого класса есть константы, например, ALT_MASK обозначает константу клавиши ALT. Кроме клавишных констант существуют так же константы событий. Так же этот класс содержит поля и методы. До них мы еще дойдем, но сначала рассмотрим пример:

 

import java.awt.*;

import java.applet.*;

 

 

public class MouseApplet extends Applet {

   

    int X,Y;

   

    public void init()  {

        X=-1;

        Y=-1;

        Font font = new Font("TimesRoman",Font.PLAIN,24);

        setFont(font);

        resize(400,300);

    }

   

    public void paint(Graphics g) {

        if(X!=-1) g.drawString("Вы нажали сюда",X,Y);

    }  

 

   

    public boolean mouseDown(Event evt, int x, int y)

    {

        X=x;

        Y=y;

        repaint();

        return true;

    }

   

 

   

}

 

эта программа выводит надпись в то место, куда вы кликнули мышкой:

 

Java для чайников. Урок 26. События в Java. Класс Event.

 

Какую еще информацию мы можем получить при обработке событий мыши? Давайте поэкспериментируем, перепишем немного наш апплет:

import java.awt.*;

import java.applet.*;

 

 

public class MouseApplet extends Applet {

   

    int X,Y;

    String str;

   

    public void init()  {

        X=-1;

        Y=-1;

        str="";

        Font font = new Font("TimesRoman",Font.PLAIN,20);

        setFont(font);

        resize(400,300);

    }

   

    public void paint(Graphics g) {

       

        if(X!=-1) g.drawString(str,X,Y);

    }  

 

   

    public boolean mouseDown(Event evt, int x, int y)

    {

        X=x;

        Y=y;

        str=evt.toString();

        repaint();

        return true;

    }

   

 

   

}

 

Запускаем программу. Что мы видим? Полную информацию о событии:

 

Java для чайников. Урок 26. События в Java. Класс Event.

 

Еще один пример:

 

import java.awt.*;

import java.applet.*;

 

 

public class MyEvent extends Applet {

   

    String str;

   

    public void init()  {

        str="Вы ничего не нажали";

        resize(500,200);

    }

   

    public void paint(Graphics g) {

        Font font = new Font("TimesRoman",Font.PLAIN,24);

        g.setFont(font);

        g.drawString(str,70,150);

    }  

 

 

   

    public boolean keyDown(Event evt, int key)

    {

        if(evt.shiftDown())

        {

            str="Нажата кнопка SHIFT + "+(char)key;

        }

        else

        {

            str="";

        }

        repaint();

        return true;

    }

   

 

   

}

 

Он выводит сообщение, если нажата клавиша с шифтом:

 

Java для чайников. Урок 26. События в Java. Класс Event.

 

 

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

 

 

Последнее обновление ( 31.08.2014 г. )