06 java eventos

9
Prof. Renny Batista Programación III 1 El modelo de Delegación de Eventos en Java El modelo de Delegación de Eventos en Java

Upload: instituto-universitario-de-tecnologia-antonio-jose-de-sucre

Post on 12-Jun-2015

2.214 views

Category:

Education


4 download

DESCRIPTION

Introducción al lenguaje de programación Java.

TRANSCRIPT

Page 1: 06 java eventos

Prof. Renny Batista Programación III 1

El modelo de Delegación de Eventos en JavaEl modelo de Delegación de Eventos en Java

Page 2: 06 java eventos

Prof. Renny Batista Programación III 2

El modelo de administración de eventos

Las aplicaciones gráficas se dice que son conducidas por eventos. Los eventos son sucesos que pueden tener lugar sobre la interfaz gráfica de la aplicación, provocados por alguna acción llevada acabo por el usuario sobre algún componente.

A esta forma de programar se le conoce como programación basada en eventos.

En Java los métodos de respuestas a los diferentes eventos que pueden tener lugar a una aplicación gráfica se encuentran definidos en unas interfaces conocidas como interfaces de escucha.

La interfaces de escucha para la administración de eventos de encuentra en el paquete java.awt.event.

Cada interfaz de escucha contiene los métodos para administrar un determinado grupo de eventos.

Page 3: 06 java eventos

Prof. Renny Batista Programación III 3

El paquete java.awt.event

Page 4: 06 java eventos

Prof. Renny Batista Programación III 4

Proceso de administración de eventos

Generador de Evento(Evento cerrar ventana)Generador de Evento(Evento cerrar ventana)

Generador de Evento(Evento “click” del botón)Generador de Evento

(Evento “click” del botón)

Click con el mouse Generación de un EventoGeneración de un Evento

Interfaz gráfica

Gestor del Evento

Page 5: 06 java eventos

Prof. Renny Batista Programación III 5

Origen y destino del evento

La administración de un evento en Java implica dos actores u objetos principalesde la aplicación:

Origen del evento: Representa el objeto en el que se produce el evento que se quiere capturar (botón, ventana, etc.).Escuchador: Es el objeto de la clase que implementa la interfaz de escucha y que contiene el método de respuesta del evento.

Asociación Objeto Origen-Escuchador: En una aplicación gráfica se puede capturar varios eventos, lo que implicaría las creación de varias clases de escucha y objetos escuchadores. Podemos asociar a cada objeto origen del evento el objeto escuchador que gestione el evento:

void addXxxListener(XxxListener e)

donde, XxxListener representa el nombre de la interfaz de escucha que contiene el método para la administración del evento. Este método se invocaría sobre el objeto de origen, siendo el argumento del método el objeto escuchador.

Page 6: 06 java eventos

Prof. Renny Batista Programación III 6

import java.awt.Container; import javax.swing.*; import java.awt.event.*;

public class Ventana extends JFrame implements ActionListener {

JLabel etiqueta = new JLabel("Nombre");

JTextField texto = new JTextField();

Container panel;

JButton boton = new JButton(“Aceptar");

public Ventana(){

super("Mi Primera Ventana");

setSize(450,320); setLocation(100, 100);

inicializar();

}

public void inicializar(){

panel = getContentPane(); panel.setLayout(null);

etiqueta.setBounds(120,100,80,20);

texto.setBounds(210,100,80,20);

boton.setBounds(180,140,80,20);

boton.addActionListener(this);

panel.add(etiqueta); panel.add(texto); panel.add(boton);

}

public void actionPerformed(ActionEvent e) {

if (e.getSource()==boton) {

texto.setText(“Juan Perez");

}

} //fin del método

} //fin de la clase

Manejo de Eventos: Modelo “A” – Usando la misma clase

Importamos la clase event del paquete awtImportamos la clase event del paquete awt

Implementamos la interfazImplementamos la interfaz

1

2

3

4

Establecemos la relación entre

el origen del evento y el

escuchador

Establecemos la relación entre

el origen del evento y el

escuchador

La información acerca del evento viene encapsulada en un objeto genérico derivado de Event

La información acerca del evento viene encapsulada en un objeto genérico derivado de Event

Se debe implementar

el método abstracto de

la interfaz

Se debe implementar

el método abstracto de

la interfaz

5

Page 7: 06 java eventos

Prof. Renny Batista Programación III 7

// Clase que controla el evento

// ManejarEvento.java

import java.awt.event.*;

public class ManejarEvento implements ActionListener{

Ventana objve;

public ManejarEvento(Ventana objve){

this.objve=objve;

}

public void actionPerformed(ActionEvent e) {

if (e.getSource()== objve.boton){

objve.texto.setText("Juan Pérez");

}

}

}

Manejo de Eventos: Modelo “B” – Delegando el evento a otra Clase

1

Crear la clase que implemente la interfaz Crear la clase que implemente la interfaz

2

Esta clase debe proporcionar una

propiedad para identificar la clase

que contiene el origen del evento.

Esta propiedad debe ser inicializada en el

constructor

Esta clase debe proporcionar una

propiedad para identificar la clase

que contiene el origen del evento.

Esta propiedad debe ser inicializada en el

constructor

3Se debe

implementar el método

abstracto de la interfaz

Se debe implementar

el método abstracto de

la interfaz La información acerca del evento viene encapsulada en un objeto genérico derivado de Event

La información acerca del evento viene encapsulada en un objeto genérico derivado de Event

4

Page 8: 06 java eventos

Prof. Renny Batista Programación III 8

import java.awt.Container;

import javax.swing.*;

public class Ventana extends JFrame {

JLabel etiqueta = new JLabel("Nombre");

JTextField texto = new JTextField();

Container panel;

JButton boton = new JButton("Aceptar");

ManejarEvento objEven = new ManejarEvento(this);

public Ventana(){

super("Mi Primera Ventana");

setSize(450,320); setLocation(100,100);

inicializar();

}

public void inicializar(){

panel = getContentPane(); panel.setLayout(null);

etiqueta.setBounds(120,100,80,20);

texto.setBounds(210,100,80,20);

boton.setBounds(180,140,80,20);

panel.add(etiqueta); panel.add(texto); panel.add(boton);

boton.addActionListener(objEven);

}

} //fin de la clase

Manejo de Eventos: Modelo “B” – Delegando el evento a otra Clase

5

Creamos un objeto de la clase que tendrá la función de Escuchadora y le indicamos que el origen del evento se encuentra en está clase (this)

Creamos un objeto de la clase que tendrá la función de Escuchadora y le indicamos que el origen del evento se encuentra en está clase (this)

6

Relacionamos el origen del evento con el objeto escuchador

Relacionamos el origen del evento con el objeto escuchador

Page 9: 06 java eventos

Prof. Renny Batista Programación III 9

Tabla resumen de interfaces