Interfaces de usuario graficas.

INTELIGENCIA ARTIFICIAL 2015
TALLER RÁPIDO DE
PROGRAMACIÓN EN JAVA
Interfaces de usuario gráficas
Contenido del taller:
• Presentar las principales características de Swing y
todos los conceptos que necesitas para poder
utilizar y entender los componentes Swing de forma
efectiva.
• Mostrar algunos de los componentes más utilizados
de Swing y explicar el concepto de Contenedor
(Container).
• Para ilustrarlo, usaremos el programa “Hola Mundo
Gráfico” y un conversor de temperatura.
temperatura
• La aplicación crea cuatro componentes Swing:
–
–
–
–
un frame,
frame o ventana principal (JFrame)
un panel,
panel algunas veces llamado panel (JPanel)
un botón (JButton)
una etiqueta (JLabel)
Java Foundation Classes:
• ¿Qué son el JFC y Swing?:
Swing
– JFC es la abreviatura de Java Foundation Classes,
Classes que
comprende un grupo de características para ayudar a
construir interfaces gráficos de usuario (GUIs).
• Los componentes Swing:
Swing
– Incluye todo desde botones hasta paneles de separación o
tablas.
tablas.
– Soporte del Aspecto y de Comportamiento:
Comportamiento ofrece una
amplia selección de aspectos y comportamientos para cada
componente (Por ejemplo, el mismo programa puede usar el
Aspecto y Comportamiento Java o el Aspecto y
Comportamiento Windows).
– API de Accesibilidad:
Accesibilidad: permite tecnologías para asistencia
como lectores de pantalla o interfaz Braille para obtener
información desde el interface de usuario.
– Java 2D API:
API permite a los desarrolladores incorporar
fácilmente gráficos 2D de alta calidad, texto, e imágenes en
aplicaciones.
Swing está basado en contenedores:
• El Frame (Ventana) es un contenedor de alto nivel.
– Proporciona espacio para que se dibujen otros componentes
Swing.
– Otros contenedores de alto nivel son: JDialog y JApplet.
JApplet
• El Panel es un contenedor intermedio.
– Permite dividir un frame en partes. Es una buena herramienta
de distribución y organización de componentes.
– Su único propósito es simplificar el posicionamiento de los
componentes.
– Otros contenedores intermedios, como los paneles
desplazables, (JScrollPane) y los paneles con pestañas
(JTabbedPane), típicamente juegan un papel más visible e
interactivo en el GUI de un programa.
• Existen componentes atómicos – no contienen otros
componentes Swing, son auto-suficientes para la E/S de
información del usuario.
– El API Swing proporciona muchos componentes atómicos (ver
API).
Ejemplos:
Botones
Selección
Etiquetas
Listas
Menús
Diálogos
Barras
Progreso
JTable
Panel con Scroll Slider
Text Area
Text Field
Split Panel
Menu Bar
Pestañas
JTree
ToolTip
El “main”
main” gráfico:
la clase JFrame
• Todas las aplicaciones Swing empiezan
con la definición de una clase que
hereda de JFrame y que será la ventana
principal de nuestra aplicación.
• La clase JFrame hereda de Frame (Frame
de Window) e implementa las interfaces
WindowsContants, Accesible,
RootPaneContainer.
El “main”
main” gráfico:
la clase JFrame
• La clase JFrame tiene una serie de
atributos que permiten establecer su
configuración.
•
•
Todas los objetos JFrame dispone de un contenedor (clase JPanel)
JPanel
es la encargada de incluir los componentes que lo contendrán.
Los componentes que pueden contener un JPanel son Botones,
Etiquetas, Listas, Menús, Tablas, etc,
etc y en general , la mayoría de los
componentes estándares de las que las aplicaciones de escritorio se
componen.
Hola mundo gráfico
Segunda aplicación Swing: Cómo incluir componentes
• Java emplea una técnica basada en
componentes.
• Un contenedor es un componente especial que
permite visualizar los componentes que contiene.
contiene
• El contenedor más usual es la clase JPanel.
JPanel
• La clase JPanel es descendiente de
JComponent,
JComponent, Container y Component,
Component además
implementa la interfaz Accesible.
• Todos los objetos JFrame disponen de un
contenedor que se obtiene mediante el método
getContentPane().
• Para visualizar otros componentes en un JFrame
es necesario insertarlos en su contenedor.
Formulario para ingresar alumnos
Formulario para ingresar alumnos
Nombre
Apellido padre
Apellido madre
Edad
Nota media
Añadir Alumnos
a la base de
datos