Introducción a la POO (Parte 2)

1,247 views

Published on

Excepciones, GUI y eventos.

Published in: Software
3 Comments
1 Like
Statistics
Notes
No Downloads
Views
Total views
1,247
On SlideShare
0
From Embeds
0
Number of Embeds
97
Actions
Shares
0
Downloads
1
Comments
3
Likes
1
Embeds 0
No embeds

No notes for slide

Introducción a la POO (Parte 2)

  1. 1. “Las personas nos influyen, las voces nos conmueven, los libros nos convencen, los hechos nos entusiasman” ProgramaciónOrientada a Objetos Carlos Luis Sánchez Bocanegra @redeskako 2ª parte
  2. 2. ÍndiceProgramación Orientada a Objetos 0.1. Control de Excepciones 0.2. Flujos de Entrada/Salida 0.3. Interfaz gráficas en JAVA
  3. 3. Control de ExcepcionesUna excepción (Exception) en Java es unerror, anomalía o problema en la ejecuciónde un método.Se lanza un objeto de esta clase, quepuede ser tratado por el propio métodoque ha sucedido,También puede propagar hacia el métodollamador, y así sucesivamente hasta llegara la JVM
  4. 4. Control de ExcepcionesException: superclase de todas las excepcionesdispone: • Constructores • nombreException() • nombreException (String mensaje) • String getMessage() • void printStackTrace()
  5. 5. Control de ExcepcionesException deriva en: • ClassNotFoundException • IllegalAccessException • NoSuchMethodException • RuntimeException (no obligado cumplimiento): • ClassCastException • NullPointerException •IndexOutOfBoundsException •IllegalArgumentException,...
  6. 6. Control de ExcepcionesExcepciones de cumplimiento obligado: Exceptiondebemos atender las posibles excepciones de dosformas: • Declarando que el método puede propagarlas. • Usando throws para lanzarlas. •public met (Object obj) throwsClassCastException {....}
  7. 7. Control de ExcepcionesExcepciones de cumplimiento obligado: Exceptiondebemos atender las posibles excepciones de dosformas: • Declarando que el método puede propagarlas. • Usando throws para lanzarlas. •public met (Object obj) throwsClassCastException {....}
  8. 8. Control de ExcepcionesDefinir bloques de captura de errores: try { // zona crítica ... } catch (NombreException errorValor) { // Captura Error y tratamiento ... } finally { // ejecución asegurada }
  9. 9. Control de Excepcionescatch se puede: • Escribir código de recuperación • Ignorar la excepción • Verificar log • Relanzar la excepción • Envolver una nueva excepción ...
  10. 10. Control de ExcepcionesUna excepción puede ser lanzada explícitamente por elprogramador mediante: • throw new MiErrorException();Y también puede crear sus Excepciones mediante: • public class MiErrorException extends RuntimeException{ •...
  11. 11. ÍndiceProgramación Orientada a Objetos 0.1. Control de Excepciones 0.2. Flujos de Entrada/Salida 0.3. Interfaz gráfica en JAVA
  12. 12. Flujos de Entrada/SalidaUn fichero en Java es un flujo de streams decomunicación. En realidad podriamos pensar en queconectamos un embudo de envío de bytes a una bolsay ella organiza la grabación a traves de sus clases.Nuestro objetivo es formar ese canuto de envío de bytes.El paquete que contiene todas estas clases esjava.io.*
  13. 13. Flujos de Entrada/SalidaUn fichero en Java es un flujo de streams decomunicación. En realidad podriamos pensar en queconectamos un embudo de envío de bytes a una bolsay ella organiza la grabación a traves de sus clases.Nuestro objetivo es formar ese canuto de envío de bytes.El paquete que contiene todas estas clases esjava.io.*
  14. 14. Flujos de Entrada/SalidaExisten dos grandes tipos de flujos: • Flujos binarios, orientados a bytes (ByteStream): • XXXInputStream • XXXOutputStream
  15. 15. Flujos de Entrada/SalidaExisten dos grandes tipos de flujos: • Flujos de texto, orientados a caracteres (de forma transparente acaba en bytes - CharacterStream: • XXXReader • XXXWriter
  16. 16. Flujos de Entrada/SalidaIOException Gestiona los erroresrelacionadas con laE/S (de obligado cumplimiento).Da soporte a métodos de clases XXXInputStream: int read(), tipo readTipo(),...Como método general de las clases XXXOutputStream: void write(), void writeTipo(Tipo t),...Y otros comunes: void close(), void flush(),...
  17. 17. Flujos de Entrada/SalidaLa idea general es instanciar un objeto de una claseStream mediante un sistema de tuberías (o embudos),de tal manera que cada filtro más interno está másespecializado en el tipo de información que va a viajarpor el canal:DataInputStream fio = new DataInputStream(new (FileInputStream(“file.bin”));Para leer un fichero de texto:FileReader fr = new FileReader(“fichero.txt”);Para crear y escribir en un fichero de texto, puedeusarse un objeto PrintWriter, envuelto en unFileOutputStream o en un FileWriter:PrintWriter pw = new PrintWriter (new FileWriter(“fichero.txt”));
  18. 18. ÍndiceProgramación Orientada a Objetos 0.1. Control de Excepciones 0.2. Flujos de Entrada/Salida 0.3. Interfaz gráfica en JAVA
  19. 19. Interfaz gráfica en JAVAjava.awt.*: es el paquete contiene las clases e interfacesbásicas para la construcción de una interfaz gráfica.java.awt.event.*: gestiona los eventosJava.swing.*: apoya y amplia java.awt.*
  20. 20. Interfaz gráfica en JAVAjava.awt.*: es el paquete contiene las clases e interfacesbásicas para la construcción de una interfaz gráfica.java.awt.event.*: gestiona los eventosJava.swing.*: apoya y amplia java.awt.*
  21. 21. Interfaz gráfica en JAVALos elementos a más alto nivel son contenedores ycomponentesLos contenedores AWT son los almacenes de loscomponentes, tales como un Applet, Frame, Panelo DialogLos componentes se corresponden con los elementosque se dibujan en la interfaz, y qu pueden recibireventos: botones, campos de texto, etc.
  22. 22. Interfaz gráfica en JAVASWINGTiene contenedores que hereda de awt:- Los contenedores superiores son JApplet, JFrame,Jdialog,...- Los contenedores intermedios son JPanel,JScrollPane, JSplitPane, JTabbedPane,JToolbar, …
  23. 23. Interfaz gráfica en JAVA
  24. 24. Interfaz gráfica en JAVALos Layout permiten detemrinar la distribución de losobjetos en los paneles, los más importantes son: • FlowLayout (por defecto en JFrame), donde los componentes van de izquierda a derecha y de arriba a abajo • BorderLayout (por defecto en JPanel), que divide al contenedor en las zonas norte, sur, este, oeste y centro • GridLayout (filas y columnas equitativas)
  25. 25. Interfaz gráfica en JAVA • JScrollPane es un contenedor que permite hacer scroll a su componente (o contenedor incluido): • JScrollPane panelScroll = new JscrollPane(“Marco”); • JsplitPane permite dividir una ventana en dos partes, horizontal o verticalmente • JTabbedPane permite simular fichas o solapas sobre una ventana • JToolBar es un contenedor intermedio que simula las barras de herramientas
  26. 26. Interfaz gráfica en JAVAAlgunos métodos de los JComponent: • Color getBackground () • void setBackground (Color) • Toolkit getToolkit () • void setEnabe (boolean) • void setVisible (boolean) • void setBorder (new ClaseBorde) • void setToolTips (String)
  27. 27. Interfaz gráfica en JAVA • JButton • JButton (String) • JButton (Icon) • JButton (String, Icon) • String getText () • void setText(String) • Jlabel • JLabel (String) • JLabel (String, Icon) • String getText () • void setText(String)
  28. 28. Interfaz gráfica en JAVA • JButton • JButton (String) • JButton (Icon) • JButton (String, Icon) • String getText () • void setText(String) • Jlabel • JLabel (String) • JLabel (String, Icon) • String getText () • void setText(String)
  29. 29. Interfaz gráfica en JAVA • JCheckBox/ JRadioButtons • JCheckBox (String,Icon, boolean) • getText () • void setText (String) • setSelected (boolean) • boolean isSelected () • JtextField • JTextField (String, int) • String getText () • void setEditable (boolean) • boolean isEditable () • ...
  30. 30. Interfaz gráfica en JAVA • JtextArea • JTextArea (String, int, int) • void append (String) •… • JList • JList () • JList (Vector) • int getSelectedIndex () • Object getSelectedValue () • void setListaData (Vector) • void setSelectionMode (int)
  31. 31. Interfaz gráfica en JAVA • JComboBox • JComboBox () • JComboBox (Vector) • boolean isEditable () • void setEditable (boolean) • … • JDialog • void setVisible (boolean) • void dispose () • JOptionPane
  32. 32. Interfaz gráfica en JAVAJFrame + JPanel + button: SWING/GUI in Java http://www.youtube.com/watch?v=-sOqzUs1HqkGridBag Layouts JAVA SWING http://www.youtube.com/watch?v=FB_wJpIdA8kMENU BAR TUTORIAL,help Swing, JMenuBar, Jmenu http://www.youtube.com/watch?v=dwLkDGm5EBc
  33. 33. Interfaz gráfica en JAVAEVENTOS EN JAVACuando un evento se dispara sobre un componente,éste es recogido por objetos listeners, que realizan laacción apropiadaCada listener debe pertenecer a una clase queimplemente cierta interface, dependiendo del evento deque se trate
  34. 34. Interfaz gráfica en JAVAEVENTOS EN JAVAInterfaces: ActionListener → (botones y menús) FocusListener → (foco de controles) ItemListener → (casillas y listas) KeyListener → (teclado) MouseListener → (ratón) WindowListener → (ventanas)
  35. 35. Interfaz gráfica en JAVAAppletsAplicaciones para ser ejecutadas en una página web,invocados y controlados por el navegadorNo atiende al métodoSe dispone de una etiqueta HTML:<applet code=“NombreClase.class” width=“200” heigth=“200”></applet>
  36. 36. Interfaz gráfica en JAVAAppletsSu ciclo de vida se controla mediante: • Init () → (Inicialización, donde se dibuja la interfaz) • start() → (ejecuta el código del applet) • stop() →(se ejecuta ante la ocultación del applet) • Destroy() →(cuando el applet se descarga)
  37. 37. Interfaz gráfica en JAVAAppletsimport java.awt.*;import java.applet.*;public class MiApplet extends Applet { public void init(){ Label etiqueta = new Label(“Hola”); getContentPane().add(etiqueta, BorderLayout.CENTER); }}
  38. 38. Programación Orientada a Objetos Carlos Luis Sánchez Bocanegra carlosl.sanchez@gmail.com @redeskako

×