Java руководство для начинающих - Шилдт Герберт (2012)
-
Год:2012
-
Название:Java руководство для начинающих
-
Автор:
-
Жанр:
-
Оригинал:Английский
-
Язык:Русский
-
Издательство:Вильямс
-
Страниц:316
-
ISBN:978-5-8459-1770-6
-
Рейтинг:
-
Ваша оценка:
Java руководство для начинающих - Шилдт Герберт читать онлайн бесплатно полную версию книги
Событие описывается объектом типа MouseEvent, передаваемым каждому из методов в качестве параметра те. В классе MouseEvent определен целый ряд методов, которые можно использовать для получения подробных сведений о наступившем событии. Вероятно, наиболее употребительными в классе MouseEvent являются методы getx () и getY (), возвращающие координаты текущего положения курсора мыши (относительно окна) в момент наступления события. Ниже приведены общие формы объявления этих методов.
int getX()
int getY ()
В примере, приведенном в следующем разделе, эти методы будут использованы для отображения сведений о текущем положении курсора мыши.
Простой пример апплета, демонстрирующий обработку событий от мыши
В этом разделе представлен пример апплета, в котором обрабатываются элементарные события от мыши, а в строке состояния отображаются координаты текущего положения курсора мыши. При нажатии кнопки мыши в месте расположения курсора на экран выводится слово "Down" (Нажато), а при отпускании кнопки — слово "Up" (Отпущено). И наконец, по щелчку кнопкой мыши в верхнем левом углу окна апплета появляется сообщение "Mouse clicked" (Произведен щелчок кнопкой мыши).
Когда курсор мыши наводится на окно апплета или отводится от него, в левом
верхнем его углу выводится соответствующее сообщение. При перетаскивании курсора мыши его сопровождает символ *. Кроме того, при нажатии и отпускании кнопки
мыши или перетаскивании курсора координаты его текущего положения сначала сохраняются в переменных mouseX и mouseY, а затем используются в методе paint () для
вывода сообщения в той точке экрана, где произошло событие от мыши.
// Демонстрация обработки событий от мыши,
import java.awt.event.*;
import java.applet.*;
/*
<applet code="MouseEvents" width=300 height=100>
</applet>
*/
public class MouseEvents extends Applet
implements MouseListener, MouseMotionListener {
String msg = "";
int mouseX = 0, mouseY =0; // Координаты курсора мыши
public void init() {
// Этот класс регистрируется в качестве приемника событий от мыши.
addMouseListener(this);
addMouseMotionListener(this);
}
// обработать событие, наступающее по щелчку кнопкой мыши
// Этот и другие методы обработки событий вызываются при
// наступлении разных событий от мыши.
public void mouseClicked(MouseEvent me) {
mouseX = 0;
mouseY = 10;
msg = "Mouse clicked.";
repaint();
}
// обработать событие, наступающее при наведении курсора
// мыши на компонент пользовательского интерфейса
public void mouseEntered(MouseEvent me) {
mouseX = 0;
mouseY = 10;
msg = "Mouse entered.";
repaint();
}
// обработать событие, наступающее при отведении курсора
// мыши от компонента пользовательского интерфейса
public void mouseExited(MouseEvent me) {
mouseX = 0;
mouseY = 10;
msg = "Mouse exited.";
repaint();
}
// обработать событие, наступающее при нажатии кнопки мыши
public void mousePressed(MouseEvent me) {
// сохранить координаты текущего положения курсора
mouseX = me.getX();
mouseY = me.getYO;
msg = "Down";
repaint();
}
// обработать событие, наступающее при отпускании кнопки мыши
public void mouseReleased(MouseEvent me) {
// сохранить координаты текущего положения курсора
mouseX = me.getXO;
mouseY = me.getYO;
msg = "Up";
repaint();
}
// обработать событие, наступающее при перетаскивании курсора мыши
public void mouseDragged(MouseEvent me) {
// сохранить координаты текущего положения курсора
mouseX = me.getXO;
mouseY = me.getYO;
msg = "*"; .