Académique Documents
Professionnel Documents
Culture Documents
Aplicaciones Java
Juan Manuel Fernndez Pea Curso 2011
Aplicacin
Una aplicacin es una coleccin de clases y recursos adicionales, con un punto de inicio. El punto de inicio est dado por el mtodo main de alguna de las clases. Algunas clases pueden definirse en el ltimo momento (ver ejemplo)
25/04/2011
Organizacin
Clases fronterizas
Orientadas a texto:
la interfaz lee datos y ordenes de consola o de archivo, las interpretan del texto Transmite las ordenes a clases de control o entidades Transforma las respuestas a texto que aparece en consola o en archivos
25/04/2011
Clases fronterizas
Grficas:
Utilizan ventanas con elementos grficos de entrada (campos de texto, botones, mens, etc.) Transmiten las ordenes a otras clases Muestran los resultados en elementos grficos (etiquetas, campos de texto, etc.)
25/04/2011
JPanel
Menubar
Button
JtextField
JTextArea
JInternalFrame
JScrollPane
Menu
MenuItem
Ttulo de la ventana
Contenedor: JPanel
25/04/2011
import javax.swing.SwingUtilities; import javax.swing.JPanel; import javax.swing.JFrame; public class Beta extends JFrame { private JPanel jContentPane = null; public static void main(String[] args) { // TODO Auto-generated method stub SwingUtilities.invokeLater(new Runnable() { public void run() { Beta thisClass = new Beta(); thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); thisClass.setVisible(true); } }); } public Beta() { super(); initialize(); } Contenedor
25/04/2011
Eventos y su manejo
Eventos
Muchas aplicaciones grficas operan como sigue:
Se inicia la aplicacin, sucediendo varias cosas transitorias (imgenes, avisos, llamados a esperar. Aparece una ventana (principal o de identificacin), que permanece inactiva hasta que hacemos algo que la saca de ese estado: oprimir una tecla, seleccionar un men, dar clic a un botn,
25/04/2011
Evento y su contexto
Ocurre algo interesante que merece atencin (evento)
Componente
(Fuente de evento) Objetos asociados
Posibilidades de eventos
Fuente de evento Escucha Escucha Escucha Fuente de evento
Un evento a muchos oyentes, Un oyente a varios eventos La conexin es una forma de callback donde se registran para que les avisen cuando algo pase.
25/04/2011
Objeto evento
EventObject
getSource()
AWTEvent
getID()
ActionEvent
ComponentEvent WindowEvent
ID es el tipo de evento. Es un nmero. Si se inventan eventos adicionales, debe cuidarse de asignar nmeros mayores a los que estn reservados.
Objeto Escucha
<<Interface>> EventListener
25/04/2011
25/04/2011
Excepciones
10
25/04/2011
Excepcin
Anomala que se produce al momento de ejecucin Condicin no usual en un programa Se manifiesta cuando el programa interrumpe su funcionamiento, al no saber qu hacer. En Java muestra un trazado de ejecucin.
Ocurrencia de excepcin
x:ClaseCliente serv:ClaseServidora
Mensaje: serv.mtodoA()
11
25/04/2011
Excepciones no fatales
A veces no causa fin de programa Cuenta: al querer sacar ms de lo que hay Al procesar un pedido mal hecho: se enva mensaje Generalmente la respuesta es un poco retorcida: un valor extrao (p. ej. Retiro negativo) o un false como regreso, sin detalles
Manejo de excepcin
x:ClaseCliente <falla al recibir Excepcin> serv:ClaseServidora
Mensaje: serv.mtodoA()
e:Excepcin
12
25/04/2011
Manejo de excepcin
x:ClaseCliente try{ <falla al recibir Excepcin>} Catch(Excepcin e){ Qu hacemos} serv:ClaseServidora Mensaje: serv.mtodoA() mtodoA(){ <algo falla: generar una Excepcin> }
e:Excepcin
Atrapando la excepcin
try{ accin segura; accin riesgosa; accin riesgosa; accin segura; } catch(NombreExcepcin1 e1) //e1 es objeto Excepcin1 { accin a tomar en caso de excepcin1} catch(NombreExcepcin2 e2) //e2 es objeto Excepcin2 { accin a tomar en caso de excepcin2} finally {accin que debe tomarse en cualquier caso}
13
25/04/2011
Throwable
Error
Exception
RuntimeException
IOException
Otras checked
Excepciones que se revisan al tiempo de compilar, exigiendo manejo; InterruptedException, etc.
ArithmeticException
Excepciones que no se revisan al tiempo de compilar, ocurren imprevistas al correr. Ejemplos: NullPointer, IndexOutOfBounds.
14
25/04/2011
Qu pasa si ?
Quien mand el mensaje debe verificar la respuesta y tomar decisiones, que quedan integradas en el cdigo de las situaciones normales; Si cambian reglas de banco, debe revisarse todo, la asignacin de nmeros, las preguntas, etc. Al manejarlo como excepcin, permite ignorar problemas o atenderlos, pero siempre como algo especial, no de diario
15
25/04/2011
16
25/04/2011
Manejo de excepciones
Si en un mtodo puede ocurrir una excepcin: a. Se puede atrapar ah (try catch) b. Se puede posponer (throws XException)
La clase que llam al mtodo que hace el throw a. Puede atraparla (try catch) b. Puede posponer la atencin (throws XException) Y as sucesivamente
17