aaaa
Interfaces
Gráficas
de
Usuario
Dpto.
Lenguajes
y
Ciencias
de
la
Computación
Índice
• Construcción
de
GUIs
en
Java
– El
patrón
MVC
• Vistas
– Contenedores
y
Componentes
– Construcción
– Gestor de Esquemas
– Estudio de Componentes
– Pintar enSwing
• Controladores
– Modelos
de
Eventos
– Interfaces
para
Implementar
Controladores
2
Construcción
de
GUIs
en
Java
• Tecnología Swing.
– NetScape (IFC) , IBM, Lighthouse Design.
• JFC (Java Foundation Classes)
– AWT, Java 2D, Accesibility, Drag and Drop, Swing.
– Versión 1.1 disponía sólo de AWT.
– Versión 1.2en adelante incluyen JFC: Swing.
• Swing está apoyado en parte en AWT.
• AWT: Abstract Window Toolkit.
– La biblioteca se encuentra en el paquete java.awt.
3
Los
paquetes
java.awt y javax.swing
• Permiten la construcción de Interfaces Gráficas
de Usuario (GUIs).
• SWING se basa en (y extiende) AWT.
• Se verán las características más importantes de
SWING paraconstruir GUIs básicos.
4
AWT
y
Swing
• Por cada componente visible de AWT existe otro en el
sistema operativo que lo representa:
– El resultado final dependerá de este componente.
• ProblemaL:
– Hay facilidades que algún sistema operativo no tiene, por lo
que AWT define lo que tienen en común todos.
– Puede verse de forma diferente en dos sistemas operativos.• Swing elimina este problemaJ:
– Define todos los componentes usuales en GUIs.
– Se encarga de mostrar cada componente.
– Necesita los paquetes (y subpaquetes):
java.awt, java.awt.event y javax.swing
5
Diseño
de
interfaces
de
usuario
• Usaremos el patrón Modelo-Vista-Controlador (MVC)
– Modelo: los datos a manipular por la aplicación.
– Vista: la representaciónde la información.
– Controlador: la lógica de la aplicación.
• Está pendiente de las acciones del usuario sobre la vista.
– Estas acciones provocan una reacción del controlador:
» Consultar/actualizar la vista y el modelo.
• Objetivo: Independizar los distintos componentes.
vista
controlador
modelo
6
MVC:
Modelo
• Información para la que se realiza la interfazgráfica.
– Puede ser desde una variable hasta una gran cantidad de
objetos.
• Debe ser lo más independiente posible de la vista y del
controlador.
– El modelo existe, independientemente de la interfaz gráfica.
vista
controlador
modelo
7
MVC:
Vista
• Representación de la información.
– Ventana que contiene botones, áreas editables de texto, etiquetas, listasdesplegables, etc.
• Interactúa con el controlador.
– En ciertas ocasiones, también con el modelo.
• Para un mismo modelo es posible generar varias vistas distintas.
– Ej: Modelo: Carpetas y ficheros del sistema operativo
– Vistas: Interfaz de comandos, Explor. Windows, Explor. Norton, etc.
vista
controlador
modelo
8
MVC:
Controlador
• La lógica de la aplicación.• Es avisado cuando el usuario actúa sobre la vista.
– Para ello, debe registrarse en ciertos elementos activos de la vista.
• En un buen diseño, varias vistas podrían disponer del mismo
controlador.
• También es posible disponer de varios controladores
especializados, cada uno controlando distintos eventos.
vista
controlador
modelo
9
Ejemplo
MVC:
La
clase Cuenta
• Utilizaremos un objeto de esta clase como
modelo.
– Permite manipular una cuenta bancaria.
– Métodos para:
• Ingresar en la cuenta
void ingresa(double)
• Extraer de la cuenta
double extrae(double)
– Devuelve la cantidad realmente extraída según el saldo.
• Consultar el saldo
double saldo()
10
El
Modelo:
La
clase
Cuenta
public class...
Regístrate para leer el documento completo.