PDF de programación - Tema 6 - GUI, Swing y Java Beans

Imágen de pdf Tema 6 - GUI, Swing y Java Beans

Tema 6 - GUI, Swing y Java Beansgráfica de visualizaciones

Publicado el 13 de Junio del 2018
860 visualizaciones desde el 13 de Junio del 2018
259,8 KB
11 paginas
Creado hace 13a (07/02/2011)
Tema 6

GUI, Swing y Java Beans



Interfaz de Usuario Gráfica


Para hacer más amigable la interacción con el usuario, actualmente la mayoría de los
programas comerciales utilizan una interfaz de usuario gráfica (GUI).

El ejemplo más conocido es el sistema operativo Windows y sus aplicaciones. Sin
embargo no fue el primero ni el único en usar una GUI.
Paquetes de Java para GUIs

Para facilitarnos la programación de las GUIS, Java nos provee de un conjunto de
paquetes:








java.awt: Contiene todas las clases para crear interfaces de usuario y para
dibujar gráficas e imágenes.
javax.swing: Provee un conjunto de componentes ligeros (escritos
completamente en Java) que, en lo máximo posible, trabajan de la misma
manera en todas las plataformas.
java.awt.event: Provee interfaces y clases para manejar los diferentes tipos de
eventos disparados por los componentes AWT.

Contenedores

Los diferentes componentes que forman la interfaz gráfica de una aplicación: Etiquetas,
botones, cajas de texto, menús, etc. deben agruparse en otros componentes llamados
contenedores. El paquete javax.swing tiene los siguientes contenedores para agrupar
componentes.


• JFrame: Permite crear una ventana de una aplicación. Posee título y puede

tener una barra de menús, barra de herramienta, barras de desplazamiento, su
propio cursor, botones para maximizar, minimizar, etc.

• JDialog: Permite crear cuadros de diálogo.
• JPanel: Permite agrupar componentes. Podemos tener paneles dentro de

paneles. Tienen un manejador de diseño.

ITSON



Manuel Domitsu Kono

174

GUI, Swing y Java Beans

Manejadores de Diseño

Un manejador de diseño es una clase que define la forma en que se acomodan los
componentes insertados en un contenedor. El paquete javax.swing tiene los siguientes
manejadores de diseño para acomodar componentes en un contenedor.


• FlowLayout: Coloca los componentes de izquierda a derecha por filas, con las

filas ordenadas de arriba abajo.

• BorderLayout: El contenedor se divide en cinco regiones: North, East, West,

• GridLayout: Acomoda a los componentes en filas y columnas con todas las

South y Center.

regiones del mismo tamaño.

• GridBagLayout: Acomoda a los componentes en filas y columnas que no

necesariamente tienen la misma altura y ancho.

• CardLayout: Cada uno de los componentes es tan grande como el contenedor.

Sólo un componente es visible.
Componentes Activos

Los componentes activos del paquete Swing de Java permiten que el usuario interactúe
con el programa:


• JButton: Implementa un botón.
• JCheckBox: Implementa una casilla de verificación.
• JList: Una componente que permite que el usuario seleccione uno o más

objetos de una lista.

Componentes de Texto

Hay cuatro componentes que pueden usarse para el despliegue y captura de textos:


• JLabel: Despliega una línea de texto en la pantalla.
• JTextField: Un cuadro que contiene una línea de texto. El usuario puede

• JPassword: Un cuadro que permite la captura de una contraseña. No hace eco

de los caracteres. En lugar despliega un carácter dado.

• JTextArea: Un cuadro que contiene una o más líneas de texto. El usuario puede

modificarla.

modificarlas.

Menús

El paquete java.swing de Java contiene una serie de clases que permiten crear
diferentes menús:

ITSON



Manuel Domitsu Kono

Tema 6

GUI, Swing y Java Beans

175



• JMenuBar: Permite crear una barra de menús. Contiene un conjunto de objetos

de tipo JMenu y debe ser parte de una ventana, JFrame.

• JMenu: Permite implementar menús. Contiene una colección de objetos

JMenuItem y separadores.

• JMenuItem: Permite implementar las opciones de un menú.
• Un Jmenu también puede ser un JMenuItem permitiendo menús jerárquicos.

Programación por Eventos


En la programación orientada por eventos el flujo de un programa no sigue una
secuencia de inicio a fin sino que está controlada por eventos externos.

Los programas con una interfaz de usuario gráfica por lo general son controlados por
eventos externos como hacer un clic en una opción de un menú o en un botón,
arrastrar el ratón, escribir en un campo de texto, etc.
Modelo de Eventos de Java

Un programa en Java maneja los eventos externos de la siguiente manera:

Toda componente puede reaccionar ante un evento externo generando una notificación
llamada evento. Se dice que el componente puede ser la fuente de un evento.

Toda clase puede recibir la notificación generada por un componente. Se dice que la
clase es una oyente del evento.

Un componente que genera eventos, mantiene una lista de las oyentes interesadas en
saber cuando ocurre el evento

El evento generado por un componente sólo se envía a las oyentes registradas. Las
que están en la lista del componente.
Eventos

En Java, un evento es una subclase de la clase AWTEvent que se encuentran en el
paquete java.awt.event.

Un objeto de tipo evento contiene la información del evento externo que lo generó
Cada componente genera uno o más tipos de eventos


ITSON



Manuel Domitsu Kono

176

GUI, Swing y Java Beans

Oyentes

Para que una clase pueda ser oyente de un evento debe implementar una o más
interfaces oyente.

Una interfaz oyente declara uno o más métodos oyentes que deben ser implementados
por la clase oyente.

Cuando un componente genera un evento, invoca a un método oyente de la clase
oyente y le pasa como parámetro el evento.

El método oyente contiene el código que maneja al evento generado por el
componente.


Tabla 6.1 Eventos, Componentes y Oyentes
Interfaz Oyente

Significado

Métodos Oyentes

El usuario hace clic
sobre el botón.
El usuario hace doble
clic sobre la opción
de la lista.
El usuario selecciona
una opción del menú.
El usuario terminó
de editar el texto.
El componente ganó
o perdió el foco.
El usuario selecciona
o deselecciona una
opción.

El usuario presionó o
soltó una tecla.
El usuario presionó o
soltó el botón del
ratón.


El ratón entró o salió
del componente, o el
usuario movió o
arrastró al ratón.
El usuario cambió el
texto

ActionListener

actionPerformed()

FocusListener

focusGained()
focusLost()

ItemListener

itemStateChanged()

KeyListener

MouseListener

keyPressed()
keyReleased()
keyTyped()
mouseClicked()
mouseEntered()
mouseExited()
mousePressed()
mouseReleased()

MouseMotionListener mouseDragged()
mouseMoved()

TextListener

textValueChanged()

Clase de
Evento

ActionEvent

Componentes que

lo Generan

JButton

JList


JMenuItem

JTextField

FocusEvent JComponent
JCheckbox
JCheckboxMenuItem
JChoice
JList.

ItemEvent

KeyEvent

JComponent

MouseEvent JComponent

JTextField
JTextArea

TextEvent



ITSON



Manuel Domitsu Kono

Tema 6

GUI, Swing y Java Beans

177

Ejemplo sobre una Interfaz de Usuario Gráfica

Para el ejemplo de la aplicación del amante de la música y el cine, AmanteMusica, se
tiene el diseño de la interfaz de usuario gráfica mostrada en la figura 6.1.


Figura 6.1. Diagrama de clases de la interfaz gráfica de la aplicación Amante de la

Música

Interfaz de Usuario de la Aplicación AmanteMusica

La figura 6.2 muestra la ventana principal de la aplicación AmanteMusica, con su barra
de menús.

La figura 6.3 muestra la selección de la opción para agregar una canción al catálogo de
canciones.



ITSON



Manuel Domitsu Kono

178

GUI, Swing y Java Beans

Figura 6.2. Ventana principal de la aplicación AmanteMusica



Figura 6.3. Selección de la opción de agregar una canción



ITSON



Manuel Domitsu Kono

Tema 6

GUI, Swing y Java Beans

179

Para agregar una canción, primero se captura la clave de una canción utilizando el
método estático showInputDialog() de la clase JOptionPane que permite capturar
una línea de texto utilizando un cuadro de diálogo como el mostrado en la figura 6.4:


Figura 6.4 Cuadro de diálogo para capturar la clave de una canción.


A continuación se busca la canción de la clave en el catálogo de canciones. Si la
canción no existe en el catálogo de canciones, se despliega el cuadro de diálogo
mostrado en la figura 6.5 para capturar el resto de los datos de la canción:



Figura 6.8. Cuadro de diálogo DlgCancion para capturar los datos de una nueva



canción.


Después de obtener los datos de una canción, el programa la agrega al catálogo de
canciones y posteriormente despliega una tabla con las canciones del catálogo, figura
6.9.

Si la canción ya existe en el catálogo de canciones, el programa despliega en un
cuadro de diálogo los datos de la canción existente, figura 6.10.


ITSON



Manuel Domitsu Kono

180

GUI, Swing y Java Beans

Figura 6.9. Listado de las calificaciones en el catálogo de calificaciones



Figura 6.10 Cuadro de diálogo DlgCancion para mostrar los datos de una canción



existente.


Para actualizar los datos de una canción, primero se captura la clave de una canción
en forma similar a cuando se quiere agregar una canción. A continuación se busca la
canción de la clave en el catálogo de canciones. Si la canción existe en el catálogo de
canciones, se despliega el cuadro de diálogo mostrado en la figura 6.11 para modificar
los datos de la canción:


ITSON



Manuel Domitsu Kono

Tema 6

GUI, Swing y Java Beans

181

Figura 6.11. Cuadro de diálogo DlgCancion para modificar los datos de una



canción.


Después de modificar los datos de una canción, el programa la actualiza en el catálogo
de canciones y posteriormente despliega una tabla con las canciones del catálogo.

Si la canción no existe en el catálogo de canciones, el programa despliega un cuadro
de diálogo con un mensaje de error, utilizando el método estático show
showMessageDialog() de la clase JOptionPane que permite despliega un mensaje
utilizando un cuadro de diálog
  • Links de descarga
http://lwp-l.com/pdf11825

Comentarios de: Tema 6 - GUI, Swing y Java Beans (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad