Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторні робота #5 ОКПП.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
120 Кб
Скачать
☆

Import java.Awt.*;

Import java.Applet.*;

import java.net.URL;

public class Base extends Applet {

public void paint(Graphics g) {

String message;

URL url = getCodeBase();// одержати базу коду

message = "Code base: " + url.toString();

g.drawString(message, 10, 20);

url = getDocumentBase();// одержати базу документу

message = "Document base: " + url.toString();

g.drawString(message, 10, 40);

}

}

        1. Інколи виникає необхідність оброблення подій миші(натискування, переміщення і т.д.). Для цього в Java передбачені інтерфейси MouseListener та MouseMotionListener. Наступний приклад представляє цей процес:

Import java.Applet.*;

Import java.Awt.*;

import java.awt.event.MouseEvent;

import java.awt.event.MouseListener;

import java.awt.event.MouseMotionListener;

public class MouseEvents extends Applet implements MouseListener,

MouseMotionListener {

String msg = "";

int mouseX = 0, mouseY = 0;// координати маніпулятора "миш"

public void init() {

addMouseListener(this);// регістрація себе як блоку прослуховування

// mouse-подій

addMouseMotionListener(this);// регістрація себе як блоку

// прослуховування MouseMotion-подій

}

// Обробка перетягування миші

public void mouseDragged(MouseEvent me) {

mouseX = me.getX();

mouseY = me.getY();

msg = "*";

showStatus("Dragging mouse at " + mouseX + ", " + mouseY);

repaint();

}

// Обробка переміщення миші

public void mouseMoved(MouseEvent me) {

showStatus("moving mouse at " + me.getX() + ", " + me.getY());

}

public void paint(Graphics g) {

g.drawString(msg, mouseX, mouseY);

}

// Обробка кліку миші

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.getY();

msg = "Down";

repaint();

}

// Обробка вивільнення кнопки

public void mouseReleased(MouseEvent me) {

mouseX = me.getX();

mouseY = me.getY();

msg = "Up";

repaint();

}

}

        1. Щоб обробляти події з клавіатури, використовується така сама архітектури, що і в попередньому прикладі з подіями миші. Єдиною різницею є те, що необхідно використовувати інтерфейс KeyListener. Коли клавіша натиснута, то генерується подія KEY_PRESSED, а це приводить до запиту оброблювача подій KeyPressed(). Коли клавіша відпускається, то генерується подія KEY_RELEASED і виконується оброблювач KeyReleased(). Якщо натискуванням клавіші згенерований символ, то посилається повідомлення про подію KEY_TYPED і викликається оброблювач KeyTyped(). Таким чином кожний раз коли користувач натискає клавішу, то генерується як мінімум дві і часто і три події. Наступний програмний код демонструє ввід з клавіатури. Він відображає у вікні аплет-символи клавіш і показує стан натиску/відпуску кожної клавіші у вікні стану: