на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Программирование графики и обработка событий
p align="left">Как правило, объект класса GridBagConstraints создается конструктором по умолчанию, затем значения нужных полей меняются простым присваиванием новых значений, например:

GridBagConstraints gbc = new GridBagConstraints();

gbc.weightx = 1.0;

gbc.gridwidth = GridBagConstraints.REMAINDER;

gbc.gridheight =2;

После создания объекта gbc класса GridBagConstraints менеджеру размещения указывается, что при помещении компонента comp в контейнер следует применять правила, занесенные в объект gbc. Для этого применяется метод

add(Component comp, GridBagConstraints gbc)

Итак, схема применения менеджера GridBagLayout такова:

GridBagLayout gbl = new GridBagLayout(); // Создаем менеджер

setLayout(gbl); // Устанавливаем его в контейнер

// Задаем правила размещения по умолчанию

GridBagConstraints с = new GridBagConstraints();

Button b2 = new Button(); // Создаем компонент

c.gridwidth =2; // Меняем правила размещения

add(bl, с); // Помещаем компонент b2 в контейнер по указанным правилам

//размещения с

Button b2 = new Button(); // Создаем следующий компонент

c.gridwidth = 1; // Меняем правила для его размещения

add(b2, с); // Помещаем в контейнер

и т.д.

Приложение 5. Обработка событий.

Java 2 использует хорошо структурированную, функционально полную и очень логичную модель обработки событий, впервые реализованную в JDK 1.1. Иерархия классов событий имеет вид:

? Object

? EventObject

? AWTEvent

? ActionEvent

? AdjustmentEvent

? ItemEvent

? TextEvent

? ComponentEvent

? ContainerEvent

? FocusEvent

? WindowEvent

? PaintEvent

? InputEvent

? KeyEvent

? MouseEvent

Классы и интерфейсы для работы с делегированными событиями расположены в пакете java.awt.event (см. рисунок 5).

В классах событий существуют открытые методы:

Класс

Метод

Возвращаемые данные

EventObject

Object getSource()

объект, вызвавший события

String toString()

строка, описывающая событие

AWTEvent

int getID()

идентификатор типа события

String paramString()

строка параметров события

ActionEvent

int getModifiers()

состояние клавиш-модификаторов

String getActionCommand()

название действия

AdjustmеntEvent

int getValue()

текущее значение, полученное из прокрутки

int getAdjustmentType()

тип установки прокрутки, изменившей значения

Adjustable getAdjustable()

ссылка на объект прокрутки, установивший значение

ItemEvent

Object getItem()

пункт списка, измененный данным событием

Container getContainer()

объект, вызвавший данное событие

FocusEvent

boolean isTemporary()

истину, если фокус ввода данного объекта возобновляется самостоятельно

PaintEvent

Graphics getGraphics()

графический контекст для данного события

WindowEvent

Window getWindow()

ссылка на окно, которое вызвало данное событие

InputEvent

boolean isShiftDown()

истина, если нажата клавиша Shift

boolean isControlDown()

истина, если нажата клавиша Control

boolean isMetaDown()

истина, если нажата клавиша Meta

boolean isAltDown()

истина, если нажата клавиша Alt

int getWhen()

время в миллисекундах с того времени, как произошло данное событие

int getModifiers()

состояние всех модификаторов клавиатуры

boolean isConsumed()

истина, если событие обработано

KeyEvent

int getKeyCode()

код клавиши, вызвавшей событие

char getKeyChar()

символ клавиши, вызвавшей событие

boolean isActionKey()

истина, если клавиша, вызвавшая событие, является функциональной клавишей

MouseEvent

int getX()

текущая абсцисса указателя мыши при генерации данного события

int getY()

текущая ордината указателя мыши при генерации данного события

Point getPoint()

положение указателя мыши при генерации данного события

getClickCount()

число нажатий на кнопку мыши при генерации данного события

isPopupTrigger()

истина, если данное событие связано с переключателем всплывающего меню для текущей операционной платформы

Классы, ответственные за обработку событий в JDK 1.1, реализуют интерфейсы “прослушивания” событий (listeners):

Интерфейс

Переопределяемые методы

Описание

ActionListener

actionPerformed

(ActionEvent e)

произведено некоторое действие

AdjustmentListener

adjustementValueChanged (AdjustmentEvent)

изменилось значение в линии прокрутки

ComponentListener

componentResized (ComponentEvent e)

компонент изменил размер

componentMoved

(ComponentEvent e)

компонент изменил расположение

componentShown

(ComponentEvent e)

компонент отображен

componentHidden (ComponentEvent e)

компонент спрятан

ContainerListener

componentAdded

(ContainerEvent e)

компонент добавлен

в контейнер

componentRemoved (ContainerEvent e)

компонент убран из контейнера

FocusListener

focusGained(FocusEvent e)

компонент получил фокус ввода

focusLost (FocusEvent e)

компонент потерял фокус ввода

ItemListener

ItemStateChaged (ItemEvent e)

изменился выделенный пункт выбора

KeyListener

keyTyped(KeyEvent e)

напечатан символ

keyPressed(KeyEvent e)

нажата клавиша

keyReleased(KeyEvent e)

нажатая клавиша отпущена

MouseListener

mouseClicked(MouseEvent e)

нажата и отпущена кнопка мыши

mousePressed(MouseEvent e)

нажата кнопка мыши

mouseReleased(MouseEvent e)

отпущена нажатая кнопка мыши

mouseEntered(MouseEvent e)

указатель мыши вошел в область компонента

mouseExited(MouseEvent e)

указатель мыши вышел из области компонента

MouseMotionListener

mouseDragged(MouseEvent e)

перемещен указатель мыши при нажатой кнопке мыши

mouseMoved(MouseEvent e)

перемещен указатель мыши при не нажатой кнопке мыши

TextListener

textValueChanged(TextEvent e)

текстовое значение изменилось

WindowListener

windowOpened(WindowEvent e)

окно открыто

windowClosing(WindowEvent e)

окно закрывается

windowClosed(WindowEvent e)

окно закрыто

windowIconified(WindowEvent e)

окно минимизировано

windowDeiconified

(WindowEvent e)

окно восстановило размеры после минимизации

windowActivated

(WindowEvent e)

окно активировано (является окном ввода информации)

windowDeactivated

(WindowEvent e)

окно перестало быть активным окном

Некоторым интерфейсам событий соответствуют открытые абстрактные классы-адаптеры, содержащие пустые методы для обработки событий:

Интерфейс

Класс

ComponentListener

ComponentAdapter

ContainerListener

ContainerAdapter

FocusListener

FocusAdapter

KeyListener

KeyAdapter

MouseListener

MouseAdapter

MouseMotionListener

MouseMotionAdapter

MouseInputListener

MouseInputAdapter

WindowListener

WindowAdapted

К действиям относятся события, поступающие от компонентов:

Компонент

Генерируемое событие

Button

нажатие на кнопку мыши

MenuItem

нажатие на кнопку мыши

List

нажатие на кнопку мыши

нажатие на клавишу возврата каретки

TextField

нажатие на клавишу возврата каретки

Управляющие компоненты регистрируют “прослушивание” событий при помощи методов вида:

void addТипКомпонентаListener(объектРеализующийПрослушивание)

и освобождаются от “прослушивания” событий при помощи соответствующих методов вида:

void removeТипКомпонентаListener(объектРеализующийПрослушивание)

Класс

Метод для добавления “слушателя” события

Componenet

addComponentListener(ComponenetListener l)

addFocusListener(FocusListener l)

addKeyListener(KeyListener)

addMouseListener(MouseListener l)

addMouseMotionListener(MouseMotionListener l)

Container

addContainerListener(ContainerListener l)

Button

addActionListener(ActionListener l)

Checkbox

addItemListener(ItemListener l)

CheckboxMenuItem

addItemListener(ItemListener l)

Choice

addItemListener(ItemListener l)

List

addItemListener(ItemListener l)

addActionListener(ActionListener l)

MenuItem

addActionListener(ActionListener l)

Scrollbar

addAdjustnmentListener(AdjustmentListener l)

TextComponent

addTextListener(TextListener l)

TextArea

addActionListener(ActionListener l)

Window

addWindowListener(WindowListener l)

Приведем пример приложения, обрабатывающего событие ActionEvent

Пример работы с событием действия (ActionEvent)

import java.awt.*;

import java.awt.event.*;

public class FrameActionEvent extends Frame implements ActionListener{

Label l = new Label();// Создадим метку для вывода сообщения

Button b = new Button("OK");// Создадим кнопку, генерирующую сообщение

public void FrameActionEvent()

{

setLayout(null);// Установим абсолютное размещение компонентов

setBackground(Color.lightGray);// Установим светло-серый фон

// Установим границы управляющих компонентов

l.setBounds(20, 10, 40, 20); // метки

b.setBounds(20, 40, 40, 20); // кнопки

// Зарегистрируем для кнопки “прослушивание” событий

b.addActionListener(this);

// Добавим в окно

add(l); // метку

add(b); // кнопку

}

// Реализуем обработку события действия

public void actionPerformed(ActionEvent e)

{

l.setText("I'm OK!");

}

}

Страницы: 1, 2, 3



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.