1 TEMA 1. Diseño de interfaces gráficas 1.Introducción 2.Componentes de la interfaz 3.Programación dirigida por eventos 4.Gestores de ubicación 5.Primitivas.

Slides:



Advertisements
Presentaciones similares
Manejo de Eventos Visita FIEC.
Advertisements

Fernando Alonso Blázquez Graphic User Interfaces 25 de Marzo de 2004.
FUNDAMENTALS OF THE JAVA PROGRAMMING LANGUAGE
Curso de Java Capitulo 7: Continuación Poo Profesor:
Programación Interactiva Eventos y Swing
Lenguaje de programación Java
Programación “Conducida por eventos” Event-driven programming
Arquitectura CLARO-TECNOTREE
Introducción 1 Puntos Clave –La orientación a objetos representa un cambio radical en los métodos tradicionales de creación de software –Los métodos tradicionales.
IGU en Java: Modelo de Eventos
Aplicación del paradigma orientado a objetos
Algoritmo y Estructura de Datos I I Facultad de Ingeniería y Arquitectura Ing. Juan José Montero Román. Sesión 12 - Introducción.
En esta fase del editor de texto mostraremos los avances que ha obtenido el equipo a lo largo de estas semanas. Así como las clases, eventos, botones,
En esta fase del editor de texto mostraremos los avances que ha obtenido el equipo a lo largo de estas semanas. Así como las clases, eventos, botones,
TEMA 1. Diseño de interfaces gráficas
Programación “Conducida por eventos” Event-driven programming Agustín J. González ELO330.
Figure: Lenguajes. Generaciones de lenguajes de programación.
MouseListener y MouseMotionListener SUSANA CAROLINA VILLA TORRES.
Aplicaciones GUI en Java
Lic. Rosemary Torrico Bascopé
Tema 10: Interfaces Antonio J. Sierra.
Igor Santos Grueiro. Ahora tenemos datos y datos …
Patrones de Comportamiento: Patrón de Diseño Observer
Patrón Observador Un patrón de diseño es una descripción de clases y objetos comunicándose entre si adaptada para resolver un problema de diseño general.
Introducción a Java 2D y LG3D
ENTORNO GRÁFICO DE VISUAL BASIC 2013
1 TEMA 1. Diseño de interfaces gráficas 1.Introducción 2.Componentes de la interfaz 3.Programación dirigida por eventos 4.Gestores de ubicación 5.Primitivas.
:: Prof. Yeniffer Peña Programación I Interface Gráfica de Usuario Presentación.
EI, Profesor Ramón Castro Liceaga Agosto de 2005 UNIVERSIDAD LATINA (UNILA) PROGRAMACION ORIENTADA A OBJETOS EN JAVA (Optativa) PROGRAMACION DE INTERFASES.
Patrones de Diseño: Command
Cómo adquirir programas
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6
Sintaxis Completa los siguientes esquemas: Esquema de excepción Excepción Definición Tipos Implementación En el lenguaje Java, excepción es un tipo de.
QUÈ ES VISUAL BASIC ES UN LENGUAJE DE PROGRAMACIÒN QUE SE HA DISEÑADO PARA FACILITAR EL DESARROLLO DE APLICACIONES EN EL ENTORNO GRÀFICO (GUI GRAPHICAL.
Manejo de Eventos. Lo básico para manejo de eventos Cuando se realiza una interacción con el programa, se envía un evento. Es fundamental su comprensión.
Interfaces y Clases Internas ELO329: Diseño y Programación Orientados a Objetos.
Programación basada en eventos “Event-Based Programming”: Conceptos
1 Programación “Conducida por eventos” Event-driven programming Agustín J. González ELO329/ELO330.
1 Interfaces y Clases Internas ELO-329: Diseño y programación orientados a objetos Agustín J. González.
1 Interfaces y Clases Internas ELO-329: Diseño y programación orientados a objetos Agustín J. González.
Herencia. Introducción La idea básica es poder crear clases basadas en clases ya existentes. Cuando heredamos de una clase existente, estamos re-usando.
:: Prof. Yeniffer Peña Programación I Interface Gráfica de Usuario Presentación.
PROGRAMACIÓN ORIENTADA A OBJETOS Unidad 1 GENERICIDAD
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) LENGUAJES DE PROGRAMACIÓN PARA EL DESARROLLO DE INTERFACES.
COMANDOS PRINCIPALES DE VISUAL BASIC 6.0
Jesús Arellano. Java posee una API (Interfaz para programación de Aplicaciones) que es la encargada de manipular las interfaces gráficas hechas con Swing.
ELO329: Diseño y Programación Orientados a Objetos
PROCESO UNIFICADO DIRIGIDO POR CASOS DE USO
22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA.1 AWT ABSTRAC WINDOW TOOLKIT.
EVENTOS DEFINICION Evento: Encapsulación de la información que puede ser envada a la aplicación de manera asíncrona Avisan de las acciones de usuario Manejo.
Manejo de Eventos Visita FIEC FIEC. Eventos En evento es una acción iniciada por el usuario. Ejemplo de eventos son: presionar un botón, cambiar un texto,
M.C. Pedro Bello López 1 IMPLEMENTACIÓN. M.C. Pedro Bello López2.
El computador Sus partes.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS GUI.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS GUI.
M.C. Meliza Contreras González.  Se le llama interfaz gráfica al conjunto de componentes gráficos(ventanas, botones, combos, listas, cajas de dialogo,
Clases “ Es una Abstracción de un elemento del mundo real ”
1 Programación “Conducida por eventos” Event-driven programming Agustín J. González ELO329/ELO330.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS GUI.
:: Prof. Yeniffer Peña Programación I Interface Gráfica de Usuario Presentación.
Programación orientada a objetos La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa objetos.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS GUI.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS GUI.
Estructuras de control selectivas Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión Práctica 3.
Presentación De UML Lenguaje estándar para escribir planos de software Se usa para visualizar, especificar, construir y documentar los artefactos de un.
Patricia López & Julio Medina Computadores y Tiempo Real Santander, 2013 G80 - Advanced Computation 1 Generación de Código con BOUML.
Las interfaces Predicate y Function Versión Unidad Didáctica 17 Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS GUI.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Herencia.
Interfaces Gráficas de Usuario
Transcripción de la presentación:

1 TEMA 1. Diseño de interfaces gráficas 1.Introducción 2.Componentes de la interfaz 3.Programación dirigida por eventos 4.Gestores de ubicación 5.Primitivas gráficas de pantalla. 6.Diseño de interfaces gráficas de usuario

2 Bibliografía iswing/ iswing/ Kathy Walrath, et all. “The JFC Swing Tutorial”. Ed. Addison Wesley Kathy Walrath, et all. “The JFC Swing Tutorial”. Ed. Addison Wesley al/swing/ al/swing/

3 Eventos Todas las clases relativas a eventos son subclases de java.util.EventObject. La biblioteca java.awt.event y java.swing.event Todas las clases relativas a eventos son subclases de java.util.EventObject. La biblioteca java.awt.event y java.swing.event contienen todos los eventos. Todo evento posee un objeto fuente (getSource()). Además, cada clase de evento posee una serie de métodos adecuados para todos los tipos de eventos que define (getX() y getY()). Todo evento posee un objeto fuente (getSource()). Además, cada clase de evento posee una serie de métodos adecuados para todos los tipos de eventos que define (getX() y getY()). Sobre una componente se puede lanzar un evento. Cada tipo de evento es una clase distinta. Cuando el evento se lanza es recibido por uno o más de un "listener" que actúa sobre ese evento. Sobre una componente se puede lanzar un evento. Cada tipo de evento es una clase distinta. Cuando el evento se lanza es recibido por uno o más de un "listener" que actúa sobre ese evento. 2. Programación dirigida por eventos

4 Eventos Debemos crear un objeto Listener y registrarlo en la componente sobre la que se lanza el evento con addXXXListener(), donde XXX es el tipo de evento que escucha. Toda la lógica del tratamiento debe ir en la clase listener. Si a un botón le añadimos addActionListener() estamos indicando que método se debe activar cuando el botón es pulsado. ActionListener es una interface que sólo tiene un método actionPerformed() significando "esta es la acción que será llevada a cabo cuando se lanza un evento". actionPerformed() NO recibe un evento genérico, sino un tipo específico: ActionEvent. 2. Programación dirigida por eventos

5 Eventos Evento->Interface del Listener-> métodos add & remove KeyEvent KeyListener addKeyListener() & | removeKeyListener() 2. Programación dirigida por eventos

6 Eventos Si trabajamos con una componente y sabemos los eventos que es capaz de recibir, los pasos a seguir serían los siguientes: – –Tomamos el nombre del evento, le quitamos la palabra "Event" y la cambiamos por "Listener". – –Implementamos el interface anterior escribiendo el código correspondiente para cada uno de los métodos de la interface. – –Creamos un objeto de la clase listener del paso anterior y la registramos en nuestras componentes. 2. Programación dirigida por eventos

7 Eventos generales Component – –Notifica a los oyentes cambios en el tamaño, posición o visibilidad del componente. Focus – –Notifica a los oyentes que el componente a ganado o perdido la posibilidad de recibir entrada desde el teclado. Key – –Notifica a los oyentes las pulsaciones de teclas; sólo generado por el componente que tiene el foco del teclado. Mouse – –Notifica a los oyentes las pulsaciones del ratón y los movimientos de entrada y salida del usuario en el área de dibujo del componente. Mouse Motion – –Notifica a los oyentes cambios en la posición del cursor sobre el componente. 2. Programación dirigida por eventos

8 Eventos

9 Eventos

10 Eventos 2. Programación dirigida por eventos

11 Adaptadores Hay casos en los que la interface sólo tiene un método, con lo que la implementación es sencilla. Pero hay otros en el que podemos tener hasta 7 métodos que habría que reescribir de los que sólo nos interesan unos pocos. Para evitar este problema cada una de la interfaces de los Listeners que tienen más de un método tienen un "adapter" que implementa completamente la interface. Por ejemplo: MouseAdapter (para MouseListener), WindowAdapter (para WindowListener), etc Programación dirigida por eventos

12 Adaptadores class p implements WindowListener {..... public void windowIconified(WindowEvent e) {... sentencias...} // para los restantes eventos no hacemos nada public void windowActivated(WindowEvent e) {;} public void windowClosed(WindowEvent e) {;} public void windowClosing(WindowEvent e) {;} public void windowDeactivated(WindowEvent e) {;} public void windowDeiconified(WindowEvent e) {;} public void windowOpened(WindowEvent e) {;} } class p extends WindowAdapter {..... public void windowIconified(WindowEvent e) {... sentencias...} // para los restantes eventos no hay que hacer nada. // El comportamiento deseado se hereda del adaptador = no hacer nada } 2. Programación dirigida por eventos

13 Oyentes 2. Programación dirigida por eventos

14 Eventos Existen diferentes métodos para definir los oyentes de los métodos: – –Como clases internas dentro de la definición de las clases componentes. – –Como clases independientes, estableciendo algún mecanismo para identificar la componente sobre la que se produce el evento. – –Directamente sobre la clase que extiende a la componente indicando que implemente la correspondiente interfaz – –Como clases anónimas. 2. Programación dirigida por eventos

15 Eventos Clase interna Class ComponenteIGU extends JPanel Button boton; ComponenteIGU(){ boton= new Button(“ejemplo”); add(boton); OyenteBoton oy= new OyenteBoton(); boton.addActionListener(oy); …} // Definición de la clase interna class OyenteBoton implements ActionListener public actionPerformer(ActionEvent e){ boton…..} 2. Programación dirigida por eventos

16 Eventos Clase externa class OyenteBoton implements ActionListener public actionPerformer(ActionEvent e){ problema al tratar de referenciar el boton e.getSource() boton…..} 2. Programación dirigida por eventos

17 Eventos Extendiendo la clase para que tenga también la función de oyente. Class ComponenteIGU extends JPanel implements ActionListener Button boton; ComponenteIGU(){ boton= new Button(“ejemplo”); add(boton); boton.addActionListener(this); …} public actionPerformer(ActionEvent e){ boton…..} 2. Programación dirigida por eventos

18 Eventos Como clase anónima Class ComponenteIGU extends Jpanel implements ActionListener Button boton; ComponenteIGU(){ boton= new Button(“ejemplo”); add(boton); boton.addActionListener( new ActionListener { public actionPerformer(ActionEvent e){ boton…..}}) 2. Programación dirigida por eventos