Introducción a la Programación Orientada a Objetos

Documentos relacionados
Interacción con el Usuario Gestión de Eventos

Introducción a la Programación Orientada a Objetos

Programación de Eventos

Tópicos Avanzados de Programación (TAP3501)

Tipos de programas en Java. Programación basada en eventos. Programación basada en eventos. Creación de una interfaz gráfico de usuario

III SEMANAS GESTIÓN DE EVENTOS PROGRAMACIÓN II CICLO. Ing. Manuel Jesús Sánchez Chero Profesor del Curso

Interfaces gráficas de usuario

Tema 8: Gestión de eventos

Programación de sistemas

GESTIÓN DE EVENTOS GUI EN JAVA 13/04/2007 DAI. Evento: Objeto que describe qué sucede

Interfaces gráficas. Jose Jesus García Rueda

Agenda. Contenedores y componentes

Construir una Interfaz Gráfica

Manejo de eventos AWT

INTERFAZ GRÁFICO DE USUARIO

Interfaces Gráficas de Usuario en Java Julio Introducción. 2. Crear una ventana 2

Programación interactiva. Oscar Bedoya

Ejemplo de GUI con Swing

Componentes Swing. Las clases cuyo nombre comienza por J forman parte de Swing. Todas las demás están incluidas en AWT (Abstract Window Toolkit)

Creando archivos *.jar 2008

Programación Orientada a Objetos

Programación de sistemas

Ingeniería del Software. Capa de Presentación. Java 2 con JFC/SWING. Componentes visuales. Gestión de la interfaz

Interfaces gráficas con Swing

APELLIDOS:... NOMBRE:... GRUPO:... NÚMERO DE EXPEDIENTE:...

Capítulo 6: Interfaces es de Usuario.

AWT y Swing. Entorno gráfico:awt y Swing. Soporte Java para el desarrollo de interface gráfica. AWT y Swing. AWT y Swing.

Algoritmia y Programación

Universidad Carlos III de Madrid Departamento de Ingeniería Telemática. Swing

// Suma.java // Programa de suma que utiliza a JOptionPane para entrada y salida. import javax.swing.joptionpane; // el programa usa JOptionPane

Capítulo 7. Introducción a las Interfaces Gráficas de usuario. Continuar

Aplicaciones gráficas en Java Librería Swing

Aplicaciones de Escritorio

d) Mencione dos diferencias y dos semejanzas entre clases abstractas e interfaces.

Uso de Java Swing. Noviembre de 2013

Desarrollando aplicaciones mediante componentes

Indice. Swing: conceptos. Generalidades. Swing & AWT: diferencias. Interfaz Gráfica de Usuario (GUI)

INTERFAZ GRÁFICO DE USUARIO

Tema 6. Interfaces gráficas de usuario (Parte 1)

Construcción de GUI en Java. Elementos de Swing. AWT v SWING. Contenedores superiores I. Componentes y contenedores

Programación Avanzada Ingeniería Civil en Computación

Interfaces y Clases Internas. ELO329: Diseño y Programación Orientados a Objetos

Programación basada en/dirigida por eventos Event-Based Programming : Conceptos (o Event-driven Programming)

Desarrollo de aplicaciones gráficas

2.1 Elementos gráficos en Java.

Desarrollo de aplicaciones con JAVA, JCreator, JDeveloper NetBeans

EJERCITACIÓN JAVA CÁTEDRA DE LENGUAJES ORIENTADOS A OBJETOS. Ing. Mario Bressano & Luciano Diamand ENVÍO RESUELTO 05

Introducción a las Interfaces Gráficas de Usuario en Java

Unidad III. Interfaz de Escritorio SWING

Interfaz Gráfica de Usuario (GUI)

Interfaces gráficas de usuario

Programación Java Curso C Draw

HÉCTOR ARTURO FLÓREZ FERNÁNDEZ

9. AWT (Abstract Window Toolkit)

PROGRAMACIÓN WEB I SEMANA 7 ESTE DOCUMENTO CONTIENE LA SEMANA 7

Java y Eclipse Desarrolle una aplicación con Java y Eclipse

Tema 7. Construcción de Applets en Java

USO DE LOS OBJETOS JLABEL, JTEXTFIELD Y JBUTTON

PROGRAMACIÓN VISUAL E.A.P. SISTEMAS E INFORMATICA UNIVERSIDAD NACIONAL DEL SANTA CURSO: MICROCOMPUTACION III FACULTA DE INGENIERIA.

Trabajando con GUI en Java Componente java.swing

1. Cómo hacer un applet? Implementación de un Applet (awt) Ejecución de los Applets Hacer el archivo HTML con los siguientes

Introducción a componentes Swing

Eclipse Visual Editor

Interfaces de usuario [Interfaces de usuario con Java]

Patrones de Diseño. Patrón estructural Composite. Técnicas de Programación - Curso 2007/08

Pasos a seguir para crear una aplicación visual en el lenguaje de programación Java con Netbeans IDE.

Java Avanzado Facultad de Ingeniería. Escuela de computación.

Práctica 4. Interfaces Gráficas de Usuario Duración 1 sesión

Propuesta de Módulo del Proyecto OSSIM: Desarrollo de un SEB para la Detección de Anomalias (*)

Estructura de las Aplicaciones Orientadas a Objetos El patrón Modelo-Vista-Controlador (MVC)

Laboratorio de Aplicaciones Telemáticas Ingeniería Técnica de Telecomunicación Especialidad en Telemática

I. Introducción a la programación orientada a objetos y al lenguaje JAVA Colegio Reuven Feuerstein --Javier Navarro

Clase 35. Aprendizaje activo: Uso de hilos para crear una animación. Hilos y Swing

En este método la implementación de la interface de usuario donde se produce el evento y la implementación del oyente están en clases separadas.

INTERFAZ GRÁFICO DE USUARIO APLICACIONES DE EJEMPLO

GUÍA DE LABORATORIO 5 ARREGLOS DE UNA DIMENSIÓN

Práctica 4: Interfaces Gráficas de Usuario en Java

INGRESAR DATOS CON UN CONTROL VISUAL EN JAVA. CLASE JTEXTFIELD Y MÉTODO GETTEXT. EJEMPLOS (CU00928C)

Componentes Swing look and feel pluggable ( mecanismo de double buffering, transparentes.

Aplicaciones Java. Juan Manuel Fernández Peña Curso 2011, 2013

Ejemplo de la Clase Persona

Java Avanzado. Lenguaje de Programación Java. Interfaces Gráficas de Usuario con Java. Elaboró: Oscar Alejandro González Bustamante

Práctica 18c. Práctica 18c. José M. Ordax

INSTALACION Y PRUEBA DEL PLUGIN WindowBuilder para trabajar Swing en Eclipse

IMPLEMENTACIÓN DEL JUEGO DEL AJEDREZ

UNIDAD I.- Elementos de Interfaces Gráficas

1.00 Clase 17. Introducción a la API de gráficos 2D de Java. Anuncios. Boletín de problemas 5: compruebe la web

- Crear los componentes que se muestran en dicha ventana.

Java Avanzado Facultad de Ingeniería. Escuela de computación.

Introducción a Swing. Taller de Programación 2016

RADIO ATÓMICO Applet que muestra gráficamente el comportamiento del radio atómico de los elementos de la tabla periódica.

OBJETOS CONTENEDORES JPANEL Y JSCROLLPANEL

Java GUI La librería Swing

Transcripción:

INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A S GUI Objetos y s Dr. Luciano H. Tamargo http://cs.uns.edu.ar/~lt Depto. de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur, Bahía Blanca 207 Cada componente de una GUI está asociada a un objeto gráfico de alguna subclase de. Un objeto fuente del, está asociado a una componente reactiva de la GUI, puede percibir un externo provocado por una acción del usuario 0 y reaccionar ndo un interno. Un objeto se implícitamente, asociado a un interno do por un objeto fuente del. Un objeto oyente (listener) se registra a un objeto fuente de para responder a la acción del usuario sobre una componente de la GUI. Introducción a la Programación Orientada a Objetos IPOO - 207 2 El usuario realiza una acción sobre una componente reactiva que genera un externo El objeto fuente de asociado a la componente reactiva un interno ndo objetos de alguna subclase de Introducción a la Programación Orientada a Objetos IPOO - 207 3 La clase de un objeto fuente de determina las clases de los objetos que se rán implícitamente: Clase de los objetos Fuente de JButton JCheckBox JRadioButton JMenuItem JTextField JComboBox Clases de los objetos ActionEvent ActionEvent ActionEvent, KeyEvent Introducción a la Programación Orientada a Objetos IPOO - 207 4 Cada subclase de define atributos y métodos adecuados para un tipo particular de acción del usuario, como por ejemplo, mover el mouse sobre un panel, oprimir una tecla o activar un botón. En cada uno de estos casos se rá un objeto de una clase específica. Introducción a la Programación Orientada a Objetos IPOO - 207 5 Los objetos de las clases JButton, JTextField, JComboBox son objetos fuente de que n objetos de clase ActionEvent. Esto es, cuando el usuario realiza una acción sobre la componente asociada al objeto fuente de, este un objeto de clase ActionEvent. La clase del objeto oyente que escuche estos s deben implementar la interface ActionListener del paquete java.awt.event. Introducción a la Programación Orientada a Objetos IPOO - 207 6 Profesor Luciano H. Tamargo

El objeto oyente es instancia de una clase que implementa una interface y redefine el método manejador del Oyente ActionListener registrado a El objeto es un parámetro para el método manejador del Introducción a la Programación Orientada a Objetos IPOO - 207 7 La clase del oyente implementa a una interface redefiniendo al método manejador del de acuerdo al comportamiento esperado en respuesta a la acción del usuario. El manejador del recibe como parámetro a un objeto do implícitamente. Cuando un objeto fuente de un interno, objetos de alguna subclase de provista en el paquete java.awt.event. Introducción a la Programación Orientada a Objetos IPOO - 207 8 La interface define uno o más métodos manejadores que deben ser implementados considerando el comportamiento esperado en respuesta a la acción del usuario. La lista de parámetros de un manejador de s siempre consiste en un argumento del tipo de clase. Introducción a la Programación Orientada a Objetos IPOO - 207 9 Objeto Interface de oyente Manejador ActionEvent ActionListener actionperformed(actionevent) ItemEvent ItemListener itemstatechanged(itemevent) MouseEvent MouseListener mousepressed(mouseevent) mousereleased(mouseevent) mouseentered(mouseevent) mouseexited(mouseevent) mouseclicked(mouseevent) KeyEvent KeyListener keypressed(keyevent) keyrealesed(keyevent) keytyped(keyevent) Introducción a la Programación Orientada a Objetos IPOO - 207 0 Mostrar una ventana con un panel que cambiará de color según los diferentes s del mouse que se produzcan como consecuencia de las acciones del usuario. En otro panel se muestra la acción del usuario y la posición del indicador del mouse sobre la componente. Introducción a la Programación Orientada a Objetos IPOO - 207 import java.awt.*; import java.awt.event.*; import javax.swing.*; public class ControlMouse extends JFrame{ private JLabel Mouse; private Container contenedor; Introducción a la Programación Orientada a Objetos IPOO - 207 2 Profesor Luciano H. Tamargo 2

public ControlMouse() { contenedor = getcontentpane(); contenedor.setlayout(new GridLayout(2,0)); panelmouse = new JPanel(); panelmouse.setbackground(color.white); panelmouse.setpreferredsize (new java.awt.dimension(300, 50)); Mouse = new JLabel(); Mouse.setPreferredSize (new java.awt.dimension(300,70)); 3 public ControlMouse() { OyenteMouse escuchamouse = new OyenteMouse(); panelmouse.addmouselistener(escuchamouse); contenedor.add(panelmouse); contenedor.add(mouse); Observemos que el oyente queda registrado al panel, de modo que reaccionará ante los s del mouse producidos ante las acciones delusuario sobre el panel. 4 public void mouseclicked (MouseEvent e) { ( Cliqueó en [%d,%d]", e.getx(), e.gety())); panelmouse.setbackground(color.blue); public void mouseentered (MouseEvent e) { ( Entró en[%d,%d]", e.getx(), e.gety())); panelmouse.setbackground(color.red); Introducción a la Programación Orientada a Objetos IPOO - 207 5 Introducción a la Programación Orientada a Objetos IPOO - 207 6 public void mouseexited (MouseEvent e) { ("Salió en [%d,%d]", e.getx(), e.gety())); panelmouse.setbackground(color.green); public void mousereleased (MouseEvent e { ("Soltó en [%d,%d]", e.getx(), e.gety())); panelmouse.setbackground(color.magenta); Introducción a la Programación Orientada a Objetos IPOO - 207 7 Introducción a la Programación Orientada a Objetos IPOO - 207 8 Profesor Luciano H. Tamargo 3

public void mousepressed (MouseEvent e) { ("Presionó en [%d,%d]", e.getx(), e.gety())); panelmouse.setbackground(color.yellow); Introducción a la Programación Orientada a Objetos IPOO - 207 9 private JLabel Mouse; public void mouseclicked(mouseevent e) { public void mousepressed(mouseevent e) { public void mousereleased(mouseevent e) { public void mouseentered(mouseevent e) { java.awt.event.mouselistener mouseclicked(e:mouseevent): void mousepressed(e:mouseevent): void mousereleased(e:mouseevent): void mouseentered(e:mouseevent): void mouseexited(e:mouseevent): void public void mouseexited(mouseevent e) { 20 private void hacergui(){ getcontentpane().setlayout(new GridLayout(2,0)); panelmouse = new JPanel(); panelmouse.setbackground(color.white); panelmouse.setpreferredsize(new java.awt.dimension(300, 50)); Mouse = new JLabel(); Mouse.setPreferredSize(new java.awt.dimension(300,70)); OyenteMouse escuchamouse = new OyenteMouse(); panelmouse.addmouselistener(escuchamouse); panelmouse.addmousemotionlistener(escuchamouse); getcontentpane().add(panelmouse); getcontentpane().add(mouse); 2 private JLabel Mouse;; class OyenteMouse implements MouseListener, MouseMotionListener{ public void mouseclicked(mouseevent e) { public void mousepressed(mouseevent e){ public void mousereleased(mouseevent e) { 0 0 public void mouseentered(mouseevent e) { public void mouseexited(mouseevent e) { 22 private JLabel Mouse;; class OyenteMouse implements MouseListener, MouseMotionListener{ 23 public void mousedragged(mouseevent e){ ("Arrastró a [%d,%d]", e.getx(),e.gety())); public void mousemoved(mouseevent e){ ("Se movió a [%d,%d]", e.getx(),e.gety())); Con frecuencia una interface de s brinda más servicios que los que necesitamos. Por ejemplo, la interface MouseListener ofrece cinco servicios, si nuestra GUI solo va a reaccionar ante 0 un click del mouse tenemos que definir el código de mouseclicked, los otros cuatro quedan sin especificar. Sin embargo, si definimos una clase que implementa a esta interface es necesario implementar todos los servicios provistos. Introducción a la Programación Orientada a Objetos IPOO - 207 24 Profesor Luciano H. Tamargo 4

Un adaptador es una clase que implementa todos los métodos de una interface, de modo que en lugar de implementar una interface podemos extender la clase adaptador. Para la interface MouseListener Java brinda la clase MouseAdapter con cuerpo vacío para los cinco métodos. Para MouseMotionListener la clase adaptador es MouseMotionAdapter. El objeto oyente es instancia de una clase que implementa una interface y redefine el método responsable de reaccionar ante la acción del usuario Introducción a la Programación Orientada a Objetos IPOO - 207 25 Introducción a la Programación Orientada a Objetos IPOO - 207 26 Oyente ActionListener registrado a El objeto es un parámetro para el método manejador del Profesor Luciano H. Tamargo 5