poo2 u1 a3_roag_2

8
Introducción a la Ingeniería de Software Unidad 1. Ingeniería de Software Programación Orientada a Objetos II (POOII) Unidad 1. Eventos Actividad 3: Componentes y Estructura Ciencias Exactas, Ingenierías y Tecnología | Ingeniería en Desarrollo de Software 1

Upload: cccimsa

Post on 26-May-2015

330 views

Category:

Education


4 download

DESCRIPTION

Programación Orientada a Objetos 2

TRANSCRIPT

Page 1: Poo2 u1 a3_roag_2

Introducción a la Ingeniería de SoftwareUnidad 1. Ingeniería de Software

Programación Orientada a Objetos II (POOII)

Unidad 1. Eventos

Actividad 3: Componentes y Estructura

Ciencias Exactas, Ingenierías y Tecnología | Ingeniería en Desarrollo de Software 1

Page 2: Poo2 u1 a3_roag_2

Introducción a la Ingeniería de SoftwareUnidad 1. Ingeniería de Software

Nombre del alumno : Roberto Alvarez Granados Correo electrónico : [email protected] Fecha de entrega : 8 de Junio del 2014

Nombre del evento: Eventos del RatónEvento clic en un botón

Características del evento:

Estos eventos pueden asignarse a casi todos los componentes. Es importante que al asignar eventos a un componente, a pesar de que pueden ligarse varios al mismo componente, es recomendable que no se asignen muchos eventos del mismo tipo para evitar confusiones.

Estructura algorítmica: Tipo DetecciónmouseClicked Se ha hecho clic con el ratón sobre el

componente. El clic completo incluye presionar el ratón y soltarlo.*Para detectar un doble clic se contabiliza cada clic sencillo.

mouseDragged Se ha presionado el ratón y sin soltarlo se ha arrastrado sobre el componente.

mouseEntered El ratón se ha posicionado sobre el componente, sin presionarlo.

mouseExited El ratón deja de estar posicionado sobre el componente, sin presionarlo.

mouseMoved Se mueve el ratón sobre el componente, sin presionar

mousePressed Se ha presionado el ratón sobre el componente (aun sin soltarlo).

mouseReleased Se ha soltado (después de presionarlo) el ratón sobre el componente.

mouseWheelmoved Se mueve la rueda del ratón sobre el componente.

Estructura sintáctica: package clases;importjava.awt.event.MouseAdapter;importjava.awt.event.MouseEvent;importjava.awt.event.WindowAdapter;importjava.awt.event.WindowEvent;importjavax.swing.JButton;importjavax.swing.JFrame;/**

Ciencias Exactas, Ingenierías y Tecnología | Ingeniería en Desarrollo de Software 2

Page 3: Poo2 u1 a3_roag_2

Introducción a la Ingeniería de SoftwareUnidad 1. Ingeniería de Software

* @author UnadM*/publicclassEjemploEventoRaton {publicstaticvoidmain (String[] args){

JButtonboton=new JButton("Oprime");boton.setVisible(true);boton.setSize(50, 50);boton.setLocation(100,100);JFrameframe=new JFrame("Ejemplo de eventos");frame.setLocation(200, 200);frame.setVisible(true);frame.setSize(300, 300);frame.add(boton);boton.addMouseListener(new MouseAdapter() {@OverridepublicvoidmouseClicked(MouseEvent e){System.out.print("Disteclic en el botonOprime");}});

frame.addWindowListener(new WindowAdapter() {@OverridepublicvoidwindowClosing(WindowEvent e){System.exit(0);}});}}

-En azul la definición de la clase, el método principal y la importación de las librerías necesarias, así como los cierres requeridos.-En sombra verde la declaración de un marco y un botón, así como sus propiedades (veremos este tema más a fondo en la siguiente unidad, por ahora lo importante es el evento).-En sombreado morado la adición del escuchador al marco y su manipulación

Ciencias Exactas, Ingenierías y Tecnología | Ingeniería en Desarrollo de Software 3

Page 4: Poo2 u1 a3_roag_2

Introducción a la Ingeniería de SoftwareUnidad 1. Ingeniería de Software

Nombre del evento: Eventos del TecladoEvento de teclado en una caja de texto.

Características del evento:

Se puedes observar que no solo se deben colocar las acciones a realizar dentro de la estructura de manipulación del evento, sino que también pueden realizarse llamadas a métodos para tener un código mejor estructurado y modular. Al igual que en el caso anterior no se recomienda utilizar varios eventos de teclado sobre el mismo componente.

Estructura algorítmica: Tipo DetecciónkeyPressed Se ha presionado una tecla

sobre el componentekeyReleased Se ha soltado una tecla

(después de que la presionas) sobre el componente.

keyTyped Se ha tecleado una tecla (se ha presionado y soltado) sobre el componente.

Estructura sintáctica: package clases;importjava.awt.event.KeyAdapter;importjava.awt.event.KeyEvent;importjava.awt.event.WindowAdapter;importjava.awt.event.WindowEvent;importjavax.swing.JFrame;importjavax.swing.JTextField;/*** @author UnadM*/publicclassEjemploEventoTeclado {

publicstaticvoidmain (String[] args){JTextFieldcajaTexto= new JTextField("Etiqueta");cajaTexto.setVisible(true);cajaTexto.setSize(50, 50);cajaTexto.setLocation(100,100);

JFrameframe=new JFrame("Ejemplo de eventos");frame.setLocation(200, 200);frame.setVisible(true);frame.setSize(300, 300);frame.add(cajaTexto);cajaTexto.addKeyListener(new KeyAdapter() {@OverridepublicvoidkeyPressed(KeyEvent e){metodoAccion();}});

Ciencias Exactas, Ingenierías y Tecnología | Ingeniería en Desarrollo de Software 4

Page 5: Poo2 u1 a3_roag_2

Introducción a la Ingeniería de SoftwareUnidad 1. Ingeniería de Software

frame.addWindowListener(new WindowAdapter() {@OverridepublicvoidwindowClosing(WindowEvent e){System.exit(0);}});}

-En azul la definición de la clase, el método principal y la importación de las librerías necesarias, así como los cierres requeridos.-En sombra verde la declaración de un marco y una caja de texto, así como sus propiedades (veremos este tema más a fondo en la siguiente unidad, por ahora lo importante es el evento).-En sombreado morado la adición del escuchador al marcoy su manipulación.-En sombreado naranja la adición del escuchador del teclado (addKeyListener) a la caja de texto (llamada cajaTexto), que escuchara los eventos que ocurran con el teclado sobre el componente.

Nombre del evento: Eventos de otros componentesEvento en un marco.

Características del evento:

Es un evento de ventana (WindowEvent) que detecta el cierre de esta (windowClosing) y para asignarlos se utilizó el escucha de ventanas (addWindowListener). Por consecuencia, este evento solo aplica para las ventanas, pues son las únicas que cuentan con un elemento de cierre. Aunque, se podría asignar un evento para detectar si se ábrela ventana (windowOpened).

Estructura algorítmica: Para lo anterior, se debe tomar en cuenta, que para manipular eventos mediante el código requieres:

Un componente. Un escuchador. Un adaptador. Indicar el evento deseado a detectar. Tipo de evento. E indicar las acciones a seguir si se detecta el evento

indicado.

Estructura sintáctica: package clases;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;

Ciencias Exactas, Ingenierías y Tecnología | Ingeniería en Desarrollo de Software 5

Page 6: Poo2 u1 a3_roag_2

Introducción a la Ingeniería de SoftwareUnidad 1. Ingeniería de Software

import javax.swing.JFrame;/*** @author UnadM*/public class EjemploEventos {public static void main (String[] args){

JFrameframe=new JFrame("Ejemplo de eventos");frame.setLocation(100, 100);frame.setVisible(true);frame.addWindowListener(new WindowAdapter() {@Overridepublic void windowClosing(WindowEvent e){System.exit(0);}});}}

-En azul la definición de la clase, el método principal y la importación de las librerías necesarias, así como los cierres requeridos.-En sombra verde la declaración de un marco y sus propiedades.-Y en sombreado morado la adición del escuchador (addWindowListener) al componente (en este caso el marco llamado frame), que deberá precisamente escuchar los eventos que ocurran sobre el marco;

Ciencias Exactas, Ingenierías y Tecnología | Ingeniería en Desarrollo de Software 6