Está en la página 1de 43

Tpicos Avanzados de

Programacin

UNIDAD 1: EVENTOS
UNIDAD 2: INTERFAZ GRAFICA DE
USUARIO (GUI)
UNIDAD 3: COMPONENTES Y
LIBRERAS
UNIDAD 4: PROGRAMACIN
CONCURRENTE (MULTIHILOS)
UNIDAD 5: PROGRAMACIN DE
DISPOSITIVOS MVILES.

UNIDAD 1: EVENTOS
Objetivo:
Resolver
problemas
utilizando programacin de eventos.
Un evento es la notificacin que hace
un elemento grfico cuando el usuario
interacta con l. Por lo tanto, si se
realiza alguna accin sobre algn
elemento de la interfaz, se dice que se
ha generado un evento en dicho
elemento.

1.1. Tipos de eventos


Eventos de bajo nivel.
Representan entradas o interacciones
de bajo nivel con elementos del
interfaz grfico (Cambio de tamao,
cambio del foco, operacin con el
ratn o con el teclado).

Eventos de Eventos
Eventos

Significado

ComponentEvent

Cambios en ele tamao, posicin


o visibilidad de un componente

FocusEvent

Cambio de foco(capacidad de un
componente para recibir entradas
desde el teclado)

KeyEvent

Operacin con el teclado

MouseEvent

Operacin con los botones del


ratn o movimientos del ratn.

WindowsEvent

Cambio de estado en una


ventana

AncestorEvent

Cambio en la composicin,
visibilidad o posicin de un
elemento superior(ancestro) de la
jerarqua de composicin

Eventos semnticos.
Eventos de alto nivel que encapsulan la
semntica del modelo de componentes del
interfaz de usuario (Hacer una accin, un
cambio de estado en un elemento, etc.).
No estn relacionados con una clase
especfica de componente sino que pueden
aplicarse a todos los componentes que
implementen un modelo semntico similar.

Eventos de alto nivel


ActionEvent

Realizacin de la accin
especifica asociada al
componente

ChangeEvent

Cambio en el estado del


componente

ItemEvent

Elemento seleccionado o
deseleccionado

CaretEvent

Cambio en la posicin del curso


de insercin en un componente
que gestiona texto

ListSelectionEvent

Cambio en la seleccin actual en


una lista

1.2. Generacin y propagacin


de eventos.
El paquete java.awt.event es el que contiene la
mayor parte de las clases e interfaces de eventos. El
modelo de delegacin de eventos es un concepto
que trabaja de la siguiente manera:
Una fuente genera un evento y lo enva a uno a ms
oyentes o auditores, que han estado simplemente
esperando hasta que reciben ese evento y una vez
recibido lo procesan y lo devuelven.
Una fuente es un objeto que genera un evento. Esto
ocurre cuando cambia de alguna manera el estado
interno de ese objeto. Las fuentes pueden generar
ms de un tipo de eventos.

Una fuente tiene que ir acompaada de auditores


para que estos reciban las notificaciones sobre el
tipo especfico de evento, cada tipo de evento tiene
su propio mtodo de registro.
Un auditor es un objeto que es avisado cuando
ocurre un evento. Tiene dos requisitos principales.
Primero tiene que ser registrado o ir acompaado por
una o ms fuentes para recibir notificaciones sobre
los tipos especficos de eventos. Segundo, tiene que
implementar mtodos para recibir y procesar
notificaciones.

1.3. Mtodos de control de


eventos.
Ejemplos de componentes que pueden
generar eventos:
Button. Genera eventos de accin
(ActionEvent) cuando se presiona el
botn.
Checkbox. Genera eventos de elementos
(ItemEvent) cuando se selecciona o
deselecciona un checkbox.
Choice. Genera eventos de elementos
cuando se cambia de opcin choice.

List. Genera eventos de accin cuando se hace


doble click sobre un elemento, genera eventos
de elemento cuando se selecciona o
deselecciona un elemento.
Menu Item. Gener eventos de accin cuando
se selecciona un elemento de men; genera
eventos del elemento cuando se selecciona o se
deselecciona un elemento de un men de
opciones.
Scrollbar. Genera eventos de ajuste
(AdjustmentEvent) cuando se manipula el
scrollbar.

Text components. Genera eventos de


texto (TextEvent) cuando el usuario
introduce un carcter.
Window. Genera eventos de ventana
(WindowEvent) cuando una ventana se
activa, se cierra, se desactiva, se
minimiza, se maximiza, se abre o se sale
de ella.

1.4. Creacin de eventos.


Para la creacin de eventos es
necesario definir sobre que
componente se desea crear dicho
evento.
Clases de eventos principales en
java.awt.event

Clase de evento

Descripcin

ActionEvent

Se genera cuando se presiona un


botn, se hace doble clic en un
elemento de una lista, o se
selecciona un elemento de tipo
men.

AdjustmentEvent

Se genera cuando se manipula un


scrollbar.

ComponentEvent

Se genera cuando un
componente se oculta, se mueve,
se cambia de tamao o se hace
visible.

ContainerEvent

Se genera cuando se aade o se


elimina un componente de un
contenedor.

FocusEvent

Se genera cuando un
componente gana o pierde el
foco.

InputEvent

Superclase abstracta de cualquier


clase de evento de entrada de
componente.

ItemEvent

Se genera cuando se hace click


en un checkbox o en un elemento
de una lista; tambin ocurre
cuando se hace una seleccin en
una opcin choice o cuando se
selecciona o deselecciona un
elemento de un men de
opciones.

KeyEvent

Se genera cuando se recibe una


entrada desde el teclado.

MouseEvent

Se genera cuando el ratn se


arrastra, se mueve, se hace clic,
se presiona, o se libera; tambin
se genera cuando el ratn entra o
sale de un componente.

TextEvent

Se genera cuando se cambia el


valor de un rea de texto o un
campo de texto

WindowEvent

Se genera cuando una ventana se


activa, se cierra, se desactiva, se
minimiza, se maximiza, se abre, o
se sale de ella.

UNIDAD 2: INTERFAZ GRAFICA


DE USUARIO (GUI)
Objetivo: Construir aplicaciones con interfaz
grfica amigable enfocadas a problemas reales.
Si un ser humano quiere interactuar con una
mquina necesita un medio para poder hacerlo.
Ese medio es, precisamente, lo que se conoce
como interfaz de usuario; la parte del sistema
que interacta con el usuario. La interfaz es un
lugar de encuentro entre los bits y las personas.

2.1. Creacin de interfaz


grafica para usuarios.
La interfaz es la parte visible de las
aplicaciones, siendo lo que se percibe
de las mismas; por ello, cada vez se
les est dando una importancia mayor
y se est poniendo ms cuidado en su
desarrollo. La creacin de interfaces de
usuario es un rea, dentro del
desarrollo de software, que ha
evolucionado mucho en los ltimos
aos y lo sigue haciendo a da de hoy.

Se podra decir que la interfaz de usuario es lo


primero que se juzga de una aplicacin, y si
no tiene la calidad adecuada puede producir
rechazo por parte del usuario. Una interfaz
puede incluso poner limitaciones en la
comunicacin de la mquina con el usuario.
Todo aquello que no se pueda expresar a
travs de la interfaz se perder, por ello, tiene
gran importancia dentro del desarrollo de una
aplicacin el diseo de su interfaz.

Un buen programa con una interfaz


pobre y no adaptada a las tareas a
realizar, no sirve de mucho, ya que la
interfaz ser ms una barrera que un
medio que facilite la interaccin. Hay
que tener siempre presente que la
interfaz de usuario determina la
usabilidad de la aplicacin.

La usabilidad es una medida de uso de un


producto por determinados usuarios, con el
fin de alcanzar ciertos objetivos de
eficiencia, efectividad y satisfaccin, todo
ello dentro de un contexto de uso concreto.
Por lo tanto, la interfaz de usuario debe ser
usable, lo que implicar que el usuario
consiga realizar las tareas por medio de ella
de forma rpida y sencilla, y se encuentre
cmodo con la aplicacin.

Una interfaz grfica de usuario (GUI)


es una interfaz de usuario en la que se
hace uso de un entorno grfico. Es
decir, permite la interaccin del
usuario con el ordenador mediante la
utilizacin de imgenes, objetos
pictricos (ventanas, iconos, botones,
etctera), adems de texto. GUI es un
acrnimo del vocablo ingls Graphical
User Interface.

Una aplicacin sin un interfaz fcil,


impide que los usuarios saquen el
mximo rendimiento del programa.
Java proporciona los elementos bsicos
para construir decentes interfaces de
usuario a travs del AWT, y opciones
para mejorarlas mediante Swing, que
s permite la creacin de interfaces de
usuario de gran impacto y sin
demasiados quebraderos de cabeza

Al nivel ms bajo, el sistema operativo


transmite informacin desde el ratn y el
teclado como dispositivos de entrada al
programa. El AWT fue diseado pensando en
que el programador no tuviese que
preocuparse de detalles como controlar el
movimiento del ratn o leer el teclado, ni
tampoco atender a detalles como la escritura
en pantalla. El AWT constituye una librera de
clases orientada a objeto para cubrir estos
recursos y servicios de bajo nivel.

Debido a que el lenguaje de programacin Java es independiente


de la plataforma en que se ejecuten sus aplicaciones, el AWT
tambin es independiente de la plataforma en que se ejecute. El
AWT proporciona un conjunto de herramientas para la
construccin de interfaces grficas que tienen una apariencia y
se comportan de forma semejante en todas las plataformas en
que se ejecute. Los elementos de interfaz proporcionados por el
AWT estn implementados utilizando toolkits nativos de las
plataformas, preservando una apariencia semejante a todas las
aplicaciones que se creen para esa plataforma. Este es un punto
fuerte del AWT, pero tambin tiene la desventaja de que una
interfaz grfica diseada para una plataforma, puede no
visualizarse correctamente en otra diferente. Estas carencias del
AWT son subsanadas en parte por Swing.

2.2. Computacin
Grafica.
Los elementos que componen la interfaz grfica son
elementos visuales, y a travs de ellos el usuario
puede interactuar con la aplicacin. En esta
interaccin el usuario introduce datos que el
programa necesita para llevar a cabo su
funcionalidad y obtiene los resultados de procesar
dichos datos. Por ejemplo, las ventanas, los botones,
las imgenes, etc. Son elementos grficos .Una
diferencia clara entre una aplicacin de consola y
una aplicacin con interfaz grfica de usuario, es
que la primera no tiene ningn elemento grfico,
mientras que en la segunda stos si existen.

Las interfaces grficas estn formadas


por ventanas de diferentes tipos que
se pueden solapar, mover, cerrar, etc.
Dentro de estas ventanas se
encuentran otros elementos (botones,
etiquetas, campos de texto, imgenes,
etc.) que permiten introducir datos y
mostrar el estado de la aplicacin. El
ratn y el teclado permiten manejar
los elementos que forman parte de la

Para implementar una aplicacin que


nos permita generar una interfaz
grafica de usuario se debe de seguir la
siguiente estructura:
Frame

ConentPa
ne

Button

Button

Textfield

Panel

Button

Applet

ConentPa
ne

Button

Button

Textfield

Panel

Button

Fig. 2.1 Estructura de GUI

ELEMENTOS PRINCIPALES DE UNA


INTERFAZ GRAFICA SWING.
Ventanas. Son elementos
encargados de albergar a otros y que
generalmente, se pueden mover
libremente por la pantalla. Existen
diferentes tipos en base a su uso y
caractersticas.

Ventanas de aplicacin. Son


aquellas que contienen a todos los
elementos de una aplicacin.
Cuadros de dilogo. Son ventanas
que, normalmente, se muestran un
breve periodo de tiempo en la pantalla.
Se suelen utilizar para informar al
usuario de alguna situacin o pedirle
datos en un momento determinado.

Ventanas internas. Son un tipo de ventanas


especfico. Se suelen utilizar para albergar
documentos dentro de la ventana de aplicacin
o para mostrar cajas de herramientas.
Componentes. Son todos aquellos elementos
de una interfaz grfica con entidad propia y una
funcionalidad asociada con componentes. Por
ejemplo: botones, barras de desplazamiento,
etiquetas, imgenes, listas desplegables, tablas,
rboles, etc. No son componentes, por ejemplo,
los colores, las lneas, las letras, los pxeles, etc.

Controles. Son aquellos componentes que


pueden recibir informacin del usuario cuando
ste interacta con la aplicacin mediante el
ratn o el teclado. Los ms comunes son:
botones, barras de desplazamiento, cuadros
de texto, etc.
Contenedores. Es un componente que
puede mostrar en su interior otros
componentes. A los componentes que no son
contenedores se les conoce como
componentes atmicos.

Mens. Son elementos que contienen botones


distribuidos verticalmente. La pulsacin de uno de
estos botones abrir un nuevo men o bien iniciar
alguna accin de la aplicacin. Los mens pueden
aparecer al pulsar el botn secundario del ratn
sobre algunos elementos de la interfaz. Si el
contenido del men depende del elemento
pulsado, se denomina men contextual.
Barras de mens. Suelen aparecer en la parte
superior de las ventanas. Se componen de una
barra horizontal con botones, que al ser pulsados
despliegan verticalmente un men.

Para poder leer datos y mostrar mensajes se usan mtodos de la clase


JOptionPane y son:
JOptionPane.showMessageDialog(null, mensaje en el cuadro de
dialogo, titulo del cuadro de dialogo, tipo de mensaje del
cuadro de dialodo).
JOptionPane.ERROR_MESSAGE. Muestra un cuadro de dialogo que
muesta un error al usuario, muestra icono
JOptionPane.INFORMATION_MESSAGE. Muestra un cuadro de
dialogo que muestra un mensaje informativo al usuario, muestra icono
JOptionPane.WARNING_MESSAGE. Muestra un cuadro de dialogo
que muestra un mensaje de peligro al usuario, muestra icono
JOptionPane.QUESTION_MESSAGE. Muestra un cuadro de dialogo
que muestra un mensaje de pregunta al usuario, muestra icono
JOptionPane.PLAIN_MESSAGE. Muestra un cuadro de dialogo que
muestra un mensaje, sin icono.

UNIDAD 3: COMPONENTES Y
LIBRERAS
Objetivo: Disear e implementar
componentes y libreras.

3.1. Definicin conceptual de


componentes, paquetes/libreras.
Componente. Un componente es el
elemento bsico de una interfaz grfica.
Los componentes permiten al usuario
interactuar con la aplicacin y proporcionar
informacin desde el programa al usuario
sobre el estado de la aplicacin. Ejemplos
de componentes son: los botones, las
barras de desplazamiento, las etiquetas,
las listas, las cajas de seleccin o los
campos de texto, entre otros.

Cabe mencionar que los


componentes nunca se encuentran
de forma aislada, sino agrupados
dentro de contenedores. Los
contenedores contienen y
organizan la situacin de los
componentes; adems, son en s
mismos componentes y como tales
pueden ser situados dentro de otros
contenedores.

Paquetes. Los paquetes en Java


son una manera de organizar
nuestras clases, ya sea por finalidad,
por su relacin con la herencia que
tienen, etc.
Pasos para crear o utilizar paquetes
(package):

1. Crear una carpeta paquete.


2. Mover y/o almacenar las clases que solucionan el problema.
3. A cada una de las clases, se les agrega la palabra reservada
package de la siguiente forma:
package NombreDeLaCarpeta;
4. Las clases deben llevar el modificador public, por ejemplo:
public class Numero.
5. A las clases que utilicen las clases enpaquetadas, se les indica la
ruta de las clases correspondientes, ocupando la palabra
reservada import.
import NombreDeLaCarpeta.*;

Libreras. Conforme empieza a crecer


un desarrollo de Software surge la
necesidad de reutilizar ciertos
componentes que ya han sido escritos,
as como dar cierta estructura para
mantener una organizacin de cdigo; al
igual que otros lenguajes, esta
organizacin se lleva acabo mediante
libreras, denominadas "packages" en el
mundo Java .

3.2. Uso de componentes


(visuales y no visuales)
proporcionados por el lenguaje.
Swing es un conjunto de componentes
visuales que son parte del java. Son
livianos respecto a sus antecesores
llamados AWT y son independientes de
la plataforma.
El siguiente es un rbol de
componentes usados en SWING los
cuales usan la infraestructura de AWT.

También podría gustarte