Você está na página 1de 4

Razonamiento Geomtrico

Librerias Java para disear GUI


! AWT
" Primera librera grca " Se usan llamadas a los sistemas de ventanas nativos (componentes pesados) " Intento de un API comn mediante el mnimo comn denominador de todos los sistemas de ventanas " Problemas: componentes escasos, aplicaciones dependientes del entorno de ventanas

Manejo bsico de eventos en Java (AWT y Swing)

! Swing
" Evolucin tras AWT " Se usa cdigo propio de Java que dibuja en una ventana proporcionada por el sistema de ventanas (componentes ligeros). " Mayor cantidad de componentes y uniformidad de las aplicaciones grcas en todos los entornos de ventanas

Libreras Geomtricas

Copyright 2008-2009 Universidad de Alicante

Libreras Geomtricas

Copyright 2008-2009 Universidad de Alicante

Pasos para definir una GUI con Swing


1. Crear los componentes 2. Denir las propiedades de los componentes 3. Crear los contenedores que almacenan los componentes 4. Especicar los LayoutManagers para disponer los componentes en los contenedores 5. Aadir los componentes en los contenedores 6. Denir la escucha de eventos 7. Mostrar la GUI al usuario

Ejemplo 1
! Probar la aplicacin DisplayMessage

Libreras Geomtricas

Copyright 2008-2009 Universidad de Alicante

Libreras Geomtricas

Copyright 2008-2009 Universidad de Alicante

Oyentes de eventos
! Los eventos los generan los componentes y los procesan objetos que implementan la interfaz EventListener ! Pasos:
" 1. Crear los componentes " 2. Crear los oyentes de los eventos que queremos tratar " 3. Asociar los oyentes a los componentes " 4. Cuando un evento se genera en un componente, la aplicacin llama al mtodo correspondiente del oyente asociado a ese componente

Notificacin de eventos

Libreras Geomtricas

Copyright 2008-2009 Universidad de Alicante

Libreras Geomtricas

Copyright 2008-2009 Universidad de Alicante

Objetos de la clase Event


! Cuando se llama a una funcin que procesa un evento, denida en una clase que implementa el interfaz EventListener, se pasa como parmetro informacin sobre el evento producido
public void actionPerformed(ActionEvent event) { // cdigo para tratar el evento }

Jerarqua de eventos

Libreras Geomtricas

Copyright 2008-2009 Universidad de Alicante

Libreras Geomtricas

Copyright 2008-2009 Universidad de Alicante

Tipos de oyentes
! Para cada evento con nombre xxxEvent, se dene una interfaz llamada xxxListener en la que se denen los mtodos que van a manejarse relacionados con ese evento ActionEvent -> ActionListener MouseEvent -> MouseListener

Oyentes AWT y componentes

Libreras Geomtricas

Copyright 2008-2009 Universidad de Alicante

Libreras Geomtricas

Copyright 2008-2009 Universidad de Alicante

10

Dnde implementar la interfaz?


! Dado que los oyentes deben ser objetos de una clase que implemente la interfaz, surge la cuestin de qu clase debe implementar la interfaz ! Tres opciones:
" Crear una clase que dena el componente e implemente el oyente " Crear una clase aparte " Crear una clase interna

1. Clase que define el componente y la interfaz


class MiClase implements ActionListener{!!! public MiClase()!!! { !!!!!!!!!! ...!!!!!!! Button btn = new Button("Boton"); btn.addActionListener(this); !!!!!!!!!!!!!!!!! ...!!! }!!!!!! public void actionPerformed(ActionEvent e)!!! {!! !!!!! // Aqui va el codigo de la accion!!! } }

Libreras Geomtricas

Copyright 2008-2009 Universidad de Alicante

11

Libreras Geomtricas

Copyright 2008-2009 Universidad de Alicante

12

2. Clase aparte
class MiClase{ !!!! public MiClase() !!!! { !!!!!!! ... !!!!!!! Button btn = new Button("Boton"); !!!!!!! btn.addActionListener(new MiOyente()); !!!!!!! ... !!!! } } class MiOyente implements ActionListener{ !!!! public void actionPerformed(ActionEvent e) !!!! { !!!!!!!! // Aqui va el codigo de la accion !!!! } }
Libreras Geomtricas Copyright 2008-2009 Universidad de Alicante 13

3. Clase interna

Button btn = new Button("Boton"); btn.addActionListener( new ActionListener() { !public void actionPerformed(ActionEven e)! { // Aqui va el codigo de la accion } });

Libreras Geomtricas

Copyright 2008-2009 Universidad de Alicante

14

Você também pode gostar