русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Программа 98. Обработка событий мыши в окне апплета и дочернем окне


Дата добавления: 2015-06-12; просмотров: 653; Нарушение авторских прав


// Обработка событий мыши как в дочернем окне, так и окне апплета.

import java.awt.*;

import java.awt.event.*;

import java.applet.*;

/*

<applet code = "WindowEvents" width = 300 height = 50>

</applet>

*/

// Создать подкласс Frame,

class SampleFrame extends Frame

implements MouseListener, MouseMotionListener {

String msg = "";

int mouseX = 10, mouseY = 40;

int movX = 0, movY = 0;

SampleFrame(String title) { // Конструктор

super(title);

// Регистрировать этот объект, чтобы получать свои собственные

// события мыши

addMouseListener(this);

addMouseMotionListener(this);

// Создать объект для обработки событий мыши

MyWindowAdapter adapter = new MyWindowAdapter(this);

// Регистрировать его для получения таких событий

addWindowListener(adapter);

}

// Обработать событие "Щелчок мыши".

public void mouseClicked(MouseEvent me) { }

// Обработать событие "Мышь введена",

public void mouseEntered(MouseEvent evtOb) {

// сохранить координаты

mouseX = 10;

mousey = 54;

msg = "Mouse just entered child.";

repaint();

}

// Обработать событие "Мышь выведена",

public void mouseExited(MouseEvent evtObj) {

// сохранить координаты

mouseX = 10;

mouseY = 54;

msg = "Mouse just left child window.";

repaint();

}

// Обработать событие "Кнопка мыши нажата",

public void mousePressed(MouseEvent me) {

// сохранить координаты

mouseX = me.getX();

mouseY = me.getY();

msg = "Down";

repaint();

}

// Обработать событие "Кнопка мыши отпущена",

public void mouseReleased(MouseEvent me) {

// сохранить координаты

mouseX = me.getX();

mouseY = me.getY();

msg = "Up";

repaint ();

}

// Обработать событие "Мышь перетащена",



public void mouseDragged(MouseEvent me) {

// сохранить координаты

mouseX = me.getX();

mouseY = me.getY();

movX = me.getX();

movY = me.getY();

msg = "*";

repaint ();

}

// Обработать событие "Мышь передвинута",

public void mouseMoved(MouseEvent me) {

// сохранить координаты

movX = me.getX();

movY = me.getY();

repaint(0, 0, 100, 60);

}

public void paint(Graphics g) {

g.drawString(msg, mouseX, mouseY);

g.drawString("Mouse at " + movX + ", " + movY, 10, 40);

}

}

class MyWindowAdapter extends WindowAdapter {

SampleFrame sampleFrame;

public MyWindowAdapter(SampleFrame sampleFrame) {

this.sampleFrame = sampleFrame;

}

public void windowClosing(WindowEvent we) {

sampleFrame.setVisible(false);

}

}

// Окно апплета.

public class WindowEvents extends Applet

implements MouseListener, MouseMotionListener {

SampleFrame f;

String msg = "";

int mouseX = 0, mouseY = 0;

int movX = 0, movY = 0;

// Создать фрейм-окно

public void init () {

f = new SampleFrame("Handle Mouse Events");

f.setSize (300, 200);

f.setVisible(true);

// Регистрировать этот объект, чтобы получить его собственные

// события мыши

addMouseListener(this);

addMouseMotionListener(this);

}

// Удалить фрейм-окно при останове апплета.

public void stop() {

f.setVisible(false);

}

// Показать фрейм-окно при старте апплета.

public void start() {

f.setVisible(true);

}

// Обработать событие "Кнопка мыши нажата",

public void mouseClicked(MouseEvent me) {

}

// Обработать событие "Мышь введена",

public void mouseEntered(MouseEvent me) {

// сохранить координаты

mouseX = 0;

mouseY = 24;

msg = "Mouse just entered applet window.";

repaint();

}

// Обработать событие "Мышь выведена",

public void mouseExited(MouseEvent me) {

// сохранить координаты

mouseX = 0;

mouseY = 24;

msg = "Mouse just left applet window."; repaint();

}

// Обработать событие "Кнопка мыши нажата",

public void mousePressed(MouseEvent me) {

// сохранить координаты-

mouseX = me.getX();

mouseY = me.getY();

msg = "Down";

repaint();

}

// Обработать событие "Кнопка мыши отпущена",

public void mouseReleased(MouseEvent me) {

// сохранить координаты

mouseX = me.getX();

mouseY = me.getY();

msg = "Up";

repaint();

}

// Обработать событие "Мышь перетащена",



public void mouseDragged(MouseEvent me) {

// сохранить, координаты

mouseX = me.getX();

mouseY = me.getY();

movX = me.getX();

movY = me.getY();

msg = "*";

repaint();

}

// Обработать событие "Мышь передвинута",

public void mouseMoved(MouseEvent me) {

// сохранить координаты

movX = me.getX();

movY = me.getY();

repaint(0, 0, 100, 20);

}

// Вывести msg в окне апплета.

public void paint(Graphics g) {

g.drawString (msg, mouseX, mouseY);

g.drawString("Mouse at " + movX + ", " + movY, 0, 10);

}

}

 

Пример вывода этой программы представлен на рис. 21.3.

Рис. 3. Окно апплета и дочернее фрейм-окно

Для запуска из браузера создадим в папке bin проекта файл RunWindowEvents.html:

<html>

<body>

<applet code = WindowEvents.class width="200" height="200" >

</applet>

</body>

</html>

Результат открытия этого файла в браузере Mozilla Firefox показан на рис.

Рис. 4. Запуск апплета и дочернего окна браузером



<== предыдущая лекция | следующая лекция ==>
Программа 97. Дочернее окно в апплете | Создание оконной программы


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.144 сек.