Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Элементы и связанные с ними события



В таблице 5 для каждого элемента пакета AWT перечислены типы событий, которые он может порождать. В первом столбце таблицы указан тип элемента, а во втором — тип соответствующего ему события. Тип события представляет собой константу, которая записывается в переменную id объекта класса Event.

В столбцах с третьего по седьмой указано, устанавливаются ли значения переменных -when (время события), х (координата х курсора мыши), у (координата у курсора мыши), key (нажатая кнопка) и modifiers (специальные клавиши, которые нажаты при этом) для данного события. Если в столбце стоит точка, значит, событие устанавливает значение соответствующей переменной. В восьмом столбце объяснено, что порождает данное событие и приведено значение, которое записывается в переменной arg объекта класса Event.

События, перечисленные для элементов класса Component, применимы ко всем подклассам класса java.awt. Component, а события, приведенные для элементов класса window, относятся как к подклассам класса window, так и к классам Dialog и Frame.

Таблица 5. Элементы AWT и события Java 1.0, которые порождаются ими

Элемент Тип события (id) w h e n x y k e y m о d s Смысл события Тип и значение переменной arg
Button (кнопка) ACTION_EVENT                     Пользователь нажал кнопку String: обозначение кнопки
Checkbox (флажок) ACTION_EVENT                     Пользователь активизировал флажок Boolean: новое состояние флажка
Choice (список выбора) ACTION_EVENT                     Пользователь выбрал элемент списка String: обозначение выбранного элемента
Element (элемент) GOT_FOCUS                     Получение фокуса ввода не используется
Element (элемент) KEY_ACTION * * * * * Пользователь нажал функциональную клавишу не используется, поскольку key содержит константу клавиши
Element (элемент) KEY_ACTION_ RELEASE * * * * * Пользователь отпустил функциональную клавишу не используется, поскольку key содержит константу клавиши
Element (элемент) KEY_PRESS * * * * * Пользователь нажал клавишу не используется, поскольку key содержит ASCII-код клавиши
Element (элемент) KEY_RELEASE * * * * * Пользователь отпустил клавишу не используется, поскольку key содержит ASCII-код клавиши
Element (элемент) LOST_FOCUS                     Потеря фокуса ввода не используется
Element (элемент) MOUSE_ENTER * * *         Курсор мыши попал в область объекта класса Component не используется
Element (элемент) MOUSE_EXIT * * *         Курсор мыши вышел из области объекта класса Component не используется
Element (элемент) MOUSE_D0WN * * *     * Пользователь нажал кнопку мыши не используется
Element (элемент) MOUSE_UP * * *     * Пользователь отпустил кнопку мыши не используется
Element (элемент) MOUSE_MOVE * * *     * Пользователь переместил мышь не используется
Element (элемент) MOUSE_DRAG * * *     * Пользователь переместил мышь при нажатой кнопке мыши не используется
List (список) ACTION_EVENT                     Пользователь выполнил двойной щелчок мыши на элементе списка String: обозначение выбранного элемента
List (список) LIST_SELECT                     Пользователь выбрал элемент списка Integer: индекс выбранного элемента
List (список) LIST_DESELECT                     Пользователь убрал выделение с определенного элемента Integer: индекс элемента
Menu Item (меню) ACTION_EVENT                     Пользователь выбрал пункт меню String: обозначение выбранного пункта
Scrollbar (полоса прокрутки) SCROLL_LINE_UP                     Пользователь осуществил прокрутку вверх на строку Integer: позиция, до которой осуществляется прокрутка
Scrollbar (полоса прокрутки) SCROLL_LINE_ DOWN                     Пользователь осуществил прокрутку вниз на строку Integer: позиция, до которой осуществляется прокрутка
Scrollbar (полоса прокрутки) SCROLL_PAGE_UP                     Пользователь осуществил прокрутку вверх на страницу Integer: позиция, до которой осуществляется прокрутка
Scrollbar (полоса прокрутки) SCROLL_PAGE_ DOWN                     Пользователь осуществил прокрутку вниз на страницу Integer: позиция, до которой осуществляется прокрутка
Scrollbar (полоса прокрутки) SCROLL_ ABSOLUTE                     Пользователь переместил ползунок полосы прокрутки Integer: позиция, до которой осуществляется прокрутка
Text Field (текст) ACTION_EVENT                     Пользователь ввел текст и нажал [Return]. String: введенный текст
Window (окно) WINDOW_ DESTROY                     Окно закрыто не используется
Window (окно) WINDOW_ ICONIFY                     Окно представлено в виде пиктограммы не используется
Window (окно) WINDOW_ DEICONIFY                     Окно восстановлено не используется
Window (окно) WINDOW_MOVED     * *         Окно перемещено не используется
                                       

Рисование "каракулей" в Java 1.0

Классический апплет, в котором используется модель обработки событий Java 1.0. В нем методы mouseDown() и mouseDragO переопределены таким образом, чтобы пользователь имел возможность рисовать "каракули" с помощью мыши. Также переопределен метод keyDown(), чтобы при нажатии клавиши [С] экран очищался, и метод action(), чтобы экран очищался после щелчка на кнопке Clear.

/* <applet code = “Scribble1” width=200 height=200>

</applet>

*/

import java.applet.*;
import java.awt.*;
/** Простой апплет, в котором используется модель обработки событий 1.0 */
public class Scribble1 extends Applet {
private int lastx, lasty; // Хранят координаты курсора мыши.
Button clear_button; // Кнопка Clear.
Graphics g; // Объект Graphics, который необходимо нарисовать.
/** Инициализация кнопки и объекта Graphics */
public void init() {
clear_button = new Button("Clear");
this.add(clear_button);
g = this.getGraphics();
}
/** Реакция на нажатие кнопки мыши */
public boolean mouseDown(Event e, int x, int y) {
lastx = x; lasty = y;
return true;
}
/** Реакция на перетаскивание с помощью мыши */
public boolean mouseDrag(Event e, int x, int y) {
g.setColor(Color.black);
g.drawLine(lastx, lasty, x, y);
lastx = x; lasty = y;
return true;
}
/** Реакция на нажатие клавиши [С] */
public boolean keyDown(Event e, int key) {
if ((e.id == Event.KEY_PRESS) && (key == 'с')) {
clear();
return true;
}
else return false;
}
/** Реакция на нажатие кнопки Clear */
public boolean action(Event e, Object arg) {
if (e.target == clear_button) {
clear();
return true;
}
else return false;
}
/** Метод для стирания каракулей */
public void clear() {
g.setColor(this.getBackground());
g.fillRect(0, 0, bounds().width, bounds().height);
} }

Экран вроде бы пустой – но на нем можно рисовать! – Scribble1.html.





Дата публикования: 2015-10-09; Прочитано: 154 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.008 с)...