SlideShare una empresa de Scribd logo
1 de 38
“Las personas nos influyen,

                las voces nos conmueven,

                los libros nos convencen,

               los hechos nos entusiasman”




   Programación
Orientada a Objetos
                           Carlos Luis Sánchez Bocanegra
                                    @redeskako



      2ª parte
Índice
Programación Orientada a Objetos




                                   0.1. Control de Excepciones
                                   0.2. Flujos de Entrada/Salida
                                   0.3. Interfaz gráficas en JAVA
Control de Excepciones

Una excepción (Exception) en Java es un
error, anomalía o problema en la ejecución
de un método.

Se lanza un objeto de esta clase, que
puede ser tratado por el propio método
que ha sucedido,

También puede propagar hacia el método
llamador, y así sucesivamente hasta llegar
a la JVM
Control de Excepciones

Exception: superclase de todas las excepciones
dispone:
   • Constructores
      • 'nombre'Exception()
      • 'nombre'Exception (String mensaje)
   • String getMessage()
   • void printStackTrace()
Control de Excepciones

Exception deriva en:
   • ClassNotFoundException
   • IllegalAccessException
   • NoSuchMethodException
   • RuntimeException (no obligado cumplimiento):
        • ClassCastException
        • NullPointerException
        •IndexOutOfBoundsException
        •IllegalArgumentException,...
Control de Excepciones


Excepciones de cumplimiento obligado: Exception
debemos atender las posibles excepciones de dos
formas:
     • Declarando que el método puede propagarlas.
     • Usando 'throws' para lanzarlas.
     •
public met (Object obj) throws
ClassCastException {
....
}
Control de Excepciones


Excepciones de cumplimiento obligado: Exception
debemos atender las posibles excepciones de dos
formas:
     • Declarando que el método puede propagarlas.
     • Usando 'throws' para lanzarlas.
     •
public met (Object obj) throws
ClassCastException {
....
}
Control de Excepciones


Definir bloques de captura de errores:
    try {
        // zona crítica
        ...
        } catch ('Nombre'Exception errorValor) {
        // Captura Error y tratamiento
        ...
        } finally {
        // ejecución asegurada
        }
Control de Excepciones

catch se puede:
   • Escribir código de recuperación
   • Ignorar la excepción
   • Verificar log
   • Relanzar la excepción
   • Envolver una nueva excepción
    ...
Control de Excepciones

Una excepción puede ser lanzada explícitamente por el
programador mediante:
   • throw new MiErrorException();
Y también puede crear sus Excepciones mediante:
   • public class MiErrorException extends
   RuntimeException{
   •...
Índice
Programación Orientada a Objetos




                                   0.1. Control de Excepciones
                                   0.2. Flujos de Entrada/Salida
                                   0.3. Interfaz gráfica en JAVA
Flujos de Entrada/Salida

Un fichero en Java es un flujo de streams de
comunicación. En realidad podriamos pensar en que
conectamos un 'embudo' de envío de bytes a una bolsa
y 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 es
java.io.*
Flujos de Entrada/Salida

Un fichero en Java es un flujo de streams de
comunicación. En realidad podriamos pensar en que
conectamos un 'embudo' de envío de bytes a una bolsa
y 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 es
java.io.*
Flujos de Entrada/Salida
Existen dos grandes tipos de flujos:
   • Flujos binarios, orientados a bytes (ByteStream):
      • XXXInputStream
      • XXXOutputStream
Flujos de Entrada/Salida

Existen dos grandes tipos de flujos:
   • Flujos de texto, orientados a caracteres (de
   forma transparente acaba en bytes -
   CharacterStream:
      • XXXReader
      • XXXWriter
Flujos de Entrada/Salida


IOException Gestiona los erroresrelacionadas con la
E/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(),...
Flujos de Entrada/Salida

La idea general es instanciar un objeto de una clase
Stream mediante un sistema de tuberías (o embudos),
de tal manera que cada filtro más interno está más
especializado en el tipo de información que va a viajar
por 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, puede
usarse un objeto PrintWriter, envuelto en un
FileOutputStream o en un FileWriter:
PrintWriter pw = new PrintWriter (new FileWriter(“fichero.txt”));
Índice
Programación Orientada a Objetos




                                   0.1. Control de Excepciones
                                   0.2. Flujos de Entrada/Salida
                                   0.3. Interfaz gráfica en JAVA
Interfaz gráfica en JAVA

java.awt.*: es el paquete contiene las clases e interfaces
básicas para la construcción de una interfaz gráfica.

java.awt.event.*: gestiona los eventos

Java.swing.*: apoya y amplia java.awt.*
Interfaz gráfica en JAVA

java.awt.*: es el paquete contiene las clases e interfaces
básicas para la construcción de una interfaz gráfica.

java.awt.event.*: gestiona los eventos

Java.swing.*: apoya y amplia java.awt.*
Interfaz gráfica en JAVA

Los elementos a más alto nivel son contenedores y
componentes

Los contenedores AWT son los almacenes de los
componentes, tales como un Applet, Frame, Panel
o Dialog

Los componentes se corresponden con los elementos
que se dibujan en la interfaz, y qu pueden recibir
eventos: botones, campos de texto, etc.
Interfaz gráfica en JAVA

SWING

Tiene contenedores que hereda de awt:
- Los contenedores superiores son JApplet, JFrame,
Jdialog,...
- Los contenedores intermedios son JPanel,
JScrollPane,       JSplitPane,       JTabbedPane,
JToolbar, …
Interfaz gráfica en JAVA
Interfaz gráfica en JAVA

Los Layout permiten detemrinar la distribución de los
objetos 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)
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
Interfaz gráfica en JAVA

Algunos 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)
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)
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)
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 ()
      • ...
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)
Interfaz gráfica en JAVA

  • JComboBox
     • JComboBox ()
     • JComboBox (Vector)
     • boolean isEditable ()
     • void setEditable (boolean)
     • …
  • JDialog
     • void setVisible (boolean)
     • void dispose ()
  • JOptionPane
Interfaz gráfica en JAVA

JFrame + JPanel + button: SWING/GUI in Java
     http://www.youtube.com/watch?v=-sOqzUs1Hqk
GridBag Layouts JAVA SWING
     http://www.youtube.com/watch?v=FB_wJpIdA8k
MENU BAR TUTORIAL,help Swing, JMenuBar, Jmenu
     http://www.youtube.com/watch?v=dwLkDGm5EBc
Interfaz gráfica en JAVA

EVENTOS EN JAVA

Cuando un evento se dispara sobre un componente,
éste es recogido por objetos listeners, que realizan la
acción apropiada

Cada listener debe pertenecer a una clase que
implemente cierta interface, dependiendo del evento de
que se trate
Interfaz gráfica en JAVA

EVENTOS EN JAVA

Interfaces:
    ActionListener → (botones y menús)
    FocusListener → (foco de controles)
    ItemListener → (casillas y listas)
    KeyListener → (teclado)
    MouseListener → (ratón)
    WindowListener → (ventanas)
Interfaz gráfica en JAVA

Applets

Aplicaciones para ser ejecutadas en una página web,
invocados y controlados por el navegador
No atiende al método
Se dispone de una etiqueta HTML:
<applet code=“NombreClase.class” width=“200” heigth=“200”>
</applet>
Interfaz gráfica en JAVA

Applets

Su 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)
Interfaz gráfica en JAVA

Applets

import java.awt.*;
import java.applet.*;

public class MiApplet extends Applet {
       public void init(){
              Label etiqueta = new Label(“Hola”);
              getContentPane().add(etiqueta,
                                 BorderLayout.CENTER);
       }
}
Programación Orientada a Objetos




                                   Carlos Luis Sánchez Bocanegra
                                    carlosl.sanchez@gmail.com
                                            @redeskako

Más contenido relacionado

La actualidad más candente

Paradigmas programacion rufino
Paradigmas programacion rufinoParadigmas programacion rufino
Paradigmas programacion rufinoagustin rojas
 
Elementos de una clase
Elementos de una claseElementos de una clase
Elementos de una claseIsaias Toledo
 
programacion orientada a objetos en visual basic net
programacion orientada a objetos en visual basic netprogramacion orientada a objetos en visual basic net
programacion orientada a objetos en visual basic netpp mm
 
PROGRAMACION ORIENTADA A OBJETO
PROGRAMACION ORIENTADA A OBJETOPROGRAMACION ORIENTADA A OBJETO
PROGRAMACION ORIENTADA A OBJETOAnabel Jaramillo
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a ObjetosUVMVirtual
 
Elementos básicos de la programación orientada a objetos.
Elementos básicos de la programación orientada a objetos.Elementos básicos de la programación orientada a objetos.
Elementos básicos de la programación orientada a objetos.Whaleejaa Wha
 
Tema 4 clases_y_objetos
Tema 4 clases_y_objetosTema 4 clases_y_objetos
Tema 4 clases_y_objetosBelenMonse
 

La actualidad más candente (14)

Paradigmas programacion rufino
Paradigmas programacion rufinoParadigmas programacion rufino
Paradigmas programacion rufino
 
Programación Orientada a Objetos para Python
Programación Orientada a Objetos para PythonProgramación Orientada a Objetos para Python
Programación Orientada a Objetos para Python
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
Elementos de una clase
Elementos de una claseElementos de una clase
Elementos de una clase
 
programacion orientada a objetos en visual basic net
programacion orientada a objetos en visual basic netprogramacion orientada a objetos en visual basic net
programacion orientada a objetos en visual basic net
 
PROGRAMACION ORIENTADA A OBJETO
PROGRAMACION ORIENTADA A OBJETOPROGRAMACION ORIENTADA A OBJETO
PROGRAMACION ORIENTADA A OBJETO
 
8.Clases y objetos Java
8.Clases y objetos Java8.Clases y objetos Java
8.Clases y objetos Java
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
Programacion Orientada a Objetos
Programacion Orientada a ObjetosProgramacion Orientada a Objetos
Programacion Orientada a Objetos
 
Semana 2 Clases y Objetos en Java
Semana 2   Clases y Objetos en JavaSemana 2   Clases y Objetos en Java
Semana 2 Clases y Objetos en Java
 
Elementos básicos de la programación orientada a objetos.
Elementos básicos de la programación orientada a objetos.Elementos básicos de la programación orientada a objetos.
Elementos básicos de la programación orientada a objetos.
 
4 Introducción al lenguaje Scala
4 Introducción al lenguaje Scala4 Introducción al lenguaje Scala
4 Introducción al lenguaje Scala
 
Tema 4 clases_y_objetos
Tema 4 clases_y_objetosTema 4 clases_y_objetos
Tema 4 clases_y_objetos
 
Uml diagrama claseobjeto
Uml diagrama claseobjetoUml diagrama claseobjeto
Uml diagrama claseobjeto
 

Destacado

San Martin de los Andes
San Martin de los AndesSan Martin de los Andes
San Martin de los AndesRocio2122
 
Práctica de Bases de Datos con MySQL (diseño, desarrollo y uso)
Práctica de Bases de Datos con MySQL (diseño, desarrollo y uso)Práctica de Bases de Datos con MySQL (diseño, desarrollo y uso)
Práctica de Bases de Datos con MySQL (diseño, desarrollo y uso)Héctor Garduño Real
 
Recruitment Likes Social Media (Social Recruiting)
Recruitment Likes Social Media (Social Recruiting)Recruitment Likes Social Media (Social Recruiting)
Recruitment Likes Social Media (Social Recruiting)HM Revenue & Customs
 
Hello decorah,ia happy memorial day
Hello decorah,ia  happy memorial dayHello decorah,ia  happy memorial day
Hello decorah,ia happy memorial dayVal Heike
 
Tecnologias emergentes en los sistemas de salud, bienestar y turismo. diseño ...
Tecnologias emergentes en los sistemas de salud, bienestar y turismo. diseño ...Tecnologias emergentes en los sistemas de salud, bienestar y turismo. diseño ...
Tecnologias emergentes en los sistemas de salud, bienestar y turismo. diseño ...Carlos Luis Sánchez Bocanegra
 
Jornadas de Colaboradores Docentes UOC. Diciembre 2015
Jornadas de Colaboradores Docentes UOC. Diciembre 2015Jornadas de Colaboradores Docentes UOC. Diciembre 2015
Jornadas de Colaboradores Docentes UOC. Diciembre 2015Carlos Luis Sánchez Bocanegra
 
Liferay Open Source
Liferay Open SourceLiferay Open Source
Liferay Open SourceStratebi
 
Pasos fronterizos con Chile
Pasos fronterizos con ChilePasos fronterizos con Chile
Pasos fronterizos con ChileGabriel Conte
 
Nikola Tesla Magnifying transmitter Patent
Nikola Tesla Magnifying transmitter PatentNikola Tesla Magnifying transmitter Patent
Nikola Tesla Magnifying transmitter PatentRubens Zimbres, PhD
 
Social Network drawing using Wolfram Mathematica
Social Network drawing using Wolfram MathematicaSocial Network drawing using Wolfram Mathematica
Social Network drawing using Wolfram MathematicaRubens Zimbres, PhD
 
Awaken The Panther Summit
Awaken The Panther SummitAwaken The Panther Summit
Awaken The Panther SummitRenoal Murat
 
Seguridad en Informatica - Luis Castellanos
Seguridad en Informatica - Luis CastellanosSeguridad en Informatica - Luis Castellanos
Seguridad en Informatica - Luis CastellanosLuis R Castellanos
 
Las tics, el internet, y el estado del arte
Las tics, el internet, y el estado del arte Las tics, el internet, y el estado del arte
Las tics, el internet, y el estado del arte Jorge Lopez
 

Destacado (19)

18 correoseguro
18 correoseguro18 correoseguro
18 correoseguro
 
San Martin de los Andes
San Martin de los AndesSan Martin de los Andes
San Martin de los Andes
 
Práctica de Bases de Datos con MySQL (diseño, desarrollo y uso)
Práctica de Bases de Datos con MySQL (diseño, desarrollo y uso)Práctica de Bases de Datos con MySQL (diseño, desarrollo y uso)
Práctica de Bases de Datos con MySQL (diseño, desarrollo y uso)
 
Recruitment Likes Social Media (Social Recruiting)
Recruitment Likes Social Media (Social Recruiting)Recruitment Likes Social Media (Social Recruiting)
Recruitment Likes Social Media (Social Recruiting)
 
Hello decorah,ia happy memorial day
Hello decorah,ia  happy memorial dayHello decorah,ia  happy memorial day
Hello decorah,ia happy memorial day
 
Tecnologias emergentes en los sistemas de salud, bienestar y turismo. diseño ...
Tecnologias emergentes en los sistemas de salud, bienestar y turismo. diseño ...Tecnologias emergentes en los sistemas de salud, bienestar y turismo. diseño ...
Tecnologias emergentes en los sistemas de salud, bienestar y turismo. diseño ...
 
Sessió 4: Facebook per a pimes i emprenedors
Sessió 4: Facebook per a pimes i emprenedorsSessió 4: Facebook per a pimes i emprenedors
Sessió 4: Facebook per a pimes i emprenedors
 
North-Kentucky-CHIP
North-Kentucky-CHIPNorth-Kentucky-CHIP
North-Kentucky-CHIP
 
Jornadas de Colaboradores Docentes UOC. Diciembre 2015
Jornadas de Colaboradores Docentes UOC. Diciembre 2015Jornadas de Colaboradores Docentes UOC. Diciembre 2015
Jornadas de Colaboradores Docentes UOC. Diciembre 2015
 
Liferay Open Source
Liferay Open SourceLiferay Open Source
Liferay Open Source
 
Pasos fronterizos con Chile
Pasos fronterizos con ChilePasos fronterizos con Chile
Pasos fronterizos con Chile
 
Estrategia de eSalud para America Latina y el Caribe
Estrategia de eSalud para America Latina y el CaribeEstrategia de eSalud para America Latina y el Caribe
Estrategia de eSalud para America Latina y el Caribe
 
Chemistry
ChemistryChemistry
Chemistry
 
Social Network - Simple
Social Network - SimpleSocial Network - Simple
Social Network - Simple
 
Nikola Tesla Magnifying transmitter Patent
Nikola Tesla Magnifying transmitter PatentNikola Tesla Magnifying transmitter Patent
Nikola Tesla Magnifying transmitter Patent
 
Social Network drawing using Wolfram Mathematica
Social Network drawing using Wolfram MathematicaSocial Network drawing using Wolfram Mathematica
Social Network drawing using Wolfram Mathematica
 
Awaken The Panther Summit
Awaken The Panther SummitAwaken The Panther Summit
Awaken The Panther Summit
 
Seguridad en Informatica - Luis Castellanos
Seguridad en Informatica - Luis CastellanosSeguridad en Informatica - Luis Castellanos
Seguridad en Informatica - Luis Castellanos
 
Las tics, el internet, y el estado del arte
Las tics, el internet, y el estado del arte Las tics, el internet, y el estado del arte
Las tics, el internet, y el estado del arte
 

Similar a Objetos influyen voces convencen hechos entusiasman

Interfaces Usuario 3
Interfaces Usuario 3Interfaces Usuario 3
Interfaces Usuario 3Milaly
 
Entorno de Desarrollo Orientado a Objetos Java.pptx
Entorno de Desarrollo Orientado a Objetos Java.pptxEntorno de Desarrollo Orientado a Objetos Java.pptx
Entorno de Desarrollo Orientado a Objetos Java.pptxssuserdfcf9e
 
Controles de Interfaz Introduccion.pdf
Controles de Interfaz Introduccion.pdfControles de Interfaz Introduccion.pdf
Controles de Interfaz Introduccion.pdfJUANCARLOSCUMBICUSBR
 
Introducción a Swing
Introducción a SwingIntroducción a Swing
Introducción a Swingmrojas_unitec
 
presentacion de Aplicaciones de Java
presentacion de Aplicaciones de Javapresentacion de Aplicaciones de Java
presentacion de Aplicaciones de Javaingyon
 
Miswing 110511215936-phpapp01
Miswing 110511215936-phpapp01Miswing 110511215936-phpapp01
Miswing 110511215936-phpapp01Ricardo Garcia
 
Java fundamentos 15 consejos prácticos - ITLA Tech Day 2018
Java fundamentos   15 consejos prácticos - ITLA Tech Day 2018Java fundamentos   15 consejos prácticos - ITLA Tech Day 2018
Java fundamentos 15 consejos prácticos - ITLA Tech Day 2018Eudris Cabrera
 
Nuevo presentación de microsoft office power point
Nuevo presentación de microsoft office power pointNuevo presentación de microsoft office power point
Nuevo presentación de microsoft office power pointJ_cordero
 
Controles de Interfaz Parte Practica.pdf
Controles de Interfaz Parte Practica.pdfControles de Interfaz Parte Practica.pdf
Controles de Interfaz Parte Practica.pdfJUANCARLOSCUMBICUSBR
 
Analizador de una matriz utilizando compiladores
Analizador de una matriz utilizando compiladoresAnalizador de una matriz utilizando compiladores
Analizador de una matriz utilizando compiladoresChristian Lara
 
Gu is awt_swing
Gu is awt_swingGu is awt_swing
Gu is awt_swingLCA
 

Similar a Objetos influyen voces convencen hechos entusiasman (20)

JAVA.PPT
JAVA.PPTJAVA.PPT
JAVA.PPT
 
JAVA (1).PPT
JAVA (1).PPTJAVA (1).PPT
JAVA (1).PPT
 
JAVA (1).PPT
JAVA (1).PPTJAVA (1).PPT
JAVA (1).PPT
 
TUTORIAL JAVA
TUTORIAL JAVATUTORIAL JAVA
TUTORIAL JAVA
 
Interfaces Usuario 3
Interfaces Usuario 3Interfaces Usuario 3
Interfaces Usuario 3
 
Entorno de Desarrollo Orientado a Objetos Java.pptx
Entorno de Desarrollo Orientado a Objetos Java.pptxEntorno de Desarrollo Orientado a Objetos Java.pptx
Entorno de Desarrollo Orientado a Objetos Java.pptx
 
Serializacion
SerializacionSerializacion
Serializacion
 
Controles de Interfaz Introduccion.pdf
Controles de Interfaz Introduccion.pdfControles de Interfaz Introduccion.pdf
Controles de Interfaz Introduccion.pdf
 
Introducción a Swing
Introducción a SwingIntroducción a Swing
Introducción a Swing
 
Grupo1
Grupo1Grupo1
Grupo1
 
presentacion de Aplicaciones de Java
presentacion de Aplicaciones de Javapresentacion de Aplicaciones de Java
presentacion de Aplicaciones de Java
 
Miswing 110511215936-phpapp01
Miswing 110511215936-phpapp01Miswing 110511215936-phpapp01
Miswing 110511215936-phpapp01
 
Java fundamentos 15 consejos prácticos - ITLA Tech Day 2018
Java fundamentos   15 consejos prácticos - ITLA Tech Day 2018Java fundamentos   15 consejos prácticos - ITLA Tech Day 2018
Java fundamentos 15 consejos prácticos - ITLA Tech Day 2018
 
Nuevo presentación de microsoft office power point
Nuevo presentación de microsoft office power pointNuevo presentación de microsoft office power point
Nuevo presentación de microsoft office power point
 
Controles de Interfaz Parte Practica.pdf
Controles de Interfaz Parte Practica.pdfControles de Interfaz Parte Practica.pdf
Controles de Interfaz Parte Practica.pdf
 
Fondo1 (2)
Fondo1 (2)Fondo1 (2)
Fondo1 (2)
 
Analizador de una matriz utilizando compiladores
Analizador de una matriz utilizando compiladoresAnalizador de una matriz utilizando compiladores
Analizador de una matriz utilizando compiladores
 
JAVA Interfaz gráfica (GUI)
JAVA Interfaz gráfica (GUI)JAVA Interfaz gráfica (GUI)
JAVA Interfaz gráfica (GUI)
 
Temaswing
TemaswingTemaswing
Temaswing
 
Gu is awt_swing
Gu is awt_swingGu is awt_swing
Gu is awt_swing
 

Más de Carlos Luis Sánchez Bocanegra

Grafos de videos de YouTubeTM como herramienta de información para profesiona...
Grafos de videos de YouTubeTM como herramienta de información para profesiona...Grafos de videos de YouTubeTM como herramienta de información para profesiona...
Grafos de videos de YouTubeTM como herramienta de información para profesiona...Carlos Luis Sánchez Bocanegra
 
#HealthSena19: Social Media 2.0 e Inteligencia Artificial 3.0
#HealthSena19: Social Media 2.0 e Inteligencia Artificial 3.0#HealthSena19: Social Media 2.0 e Inteligencia Artificial 3.0
#HealthSena19: Social Media 2.0 e Inteligencia Artificial 3.0Carlos Luis Sánchez Bocanegra
 
Thinspo: Plataforma de recopilación de fuentes de información pro- anorexia
Thinspo: Plataforma de recopilación de fuentes de información pro- anorexiaThinspo: Plataforma de recopilación de fuentes de información pro- anorexia
Thinspo: Plataforma de recopilación de fuentes de información pro- anorexiaCarlos Luis Sánchez Bocanegra
 
WIKI Y LUDIFICACIÓN VINCULADOS A UN ENTORNO DE DIAGNÓSTICO PARA LA IMÁGEN
WIKI Y LUDIFICACIÓN VINCULADOS A UN ENTORNO DE DIAGNÓSTICO PARA LA IMÁGENWIKI Y LUDIFICACIÓN VINCULADOS A UN ENTORNO DE DIAGNÓSTICO PARA LA IMÁGEN
WIKI Y LUDIFICACIÓN VINCULADOS A UN ENTORNO DE DIAGNÓSTICO PARA LA IMÁGENCarlos Luis Sánchez Bocanegra
 
Son los datos abiertos el medio para innovar en salud
Son los datos abiertos el medio para innovar en salud Son los datos abiertos el medio para innovar en salud
Son los datos abiertos el medio para innovar en salud Carlos Luis Sánchez Bocanegra
 
Las Nuevas Tecnologías como intrumento de la Administración Pública
Las Nuevas Tecnologías como intrumento de la Administración PúblicaLas Nuevas Tecnologías como intrumento de la Administración Pública
Las Nuevas Tecnologías como intrumento de la Administración PúblicaCarlos Luis Sánchez Bocanegra
 
Inmigración y redes sociales. Las Tecnologías del Conocimiento como herramien...
Inmigración y redes sociales. Las Tecnologías del Conocimiento como herramien...Inmigración y redes sociales. Las Tecnologías del Conocimiento como herramien...
Inmigración y redes sociales. Las Tecnologías del Conocimiento como herramien...Carlos Luis Sánchez Bocanegra
 

Más de Carlos Luis Sánchez Bocanegra (20)

Metodología Kanban. Un caso práctico.
Metodología Kanban. Un caso práctico.Metodología Kanban. Un caso práctico.
Metodología Kanban. Un caso práctico.
 
Metodología Kanba un caso práctico.pdf
Metodología Kanba un caso práctico.pdfMetodología Kanba un caso práctico.pdf
Metodología Kanba un caso práctico.pdf
 
AdminFlix
AdminFlixAdminFlix
AdminFlix
 
Adminflix en Cifras
Adminflix en CifrasAdminflix en Cifras
Adminflix en Cifras
 
Grafos de videos de YouTubeTM como herramienta de información para profesiona...
Grafos de videos de YouTubeTM como herramienta de información para profesiona...Grafos de videos de YouTubeTM como herramienta de información para profesiona...
Grafos de videos de YouTubeTM como herramienta de información para profesiona...
 
Telemedicina: presente y futuro
Telemedicina: presente y futuroTelemedicina: presente y futuro
Telemedicina: presente y futuro
 
#HealthSena19: Social Media 2.0 e Inteligencia Artificial 3.0
#HealthSena19: Social Media 2.0 e Inteligencia Artificial 3.0#HealthSena19: Social Media 2.0 e Inteligencia Artificial 3.0
#HealthSena19: Social Media 2.0 e Inteligencia Artificial 3.0
 
Thinspo: Plataforma de recopilación de fuentes de información pro- anorexia
Thinspo: Plataforma de recopilación de fuentes de información pro- anorexiaThinspo: Plataforma de recopilación de fuentes de información pro- anorexia
Thinspo: Plataforma de recopilación de fuentes de información pro- anorexia
 
WIKI Y LUDIFICACIÓN VINCULADOS A UN ENTORNO DE DIAGNÓSTICO PARA LA IMÁGEN
WIKI Y LUDIFICACIÓN VINCULADOS A UN ENTORNO DE DIAGNÓSTICO PARA LA IMÁGENWIKI Y LUDIFICACIÓN VINCULADOS A UN ENTORNO DE DIAGNÓSTICO PARA LA IMÁGEN
WIKI Y LUDIFICACIÓN VINCULADOS A UN ENTORNO DE DIAGNÓSTICO PARA LA IMÁGEN
 
Son los datos abiertos el medio para innovar en salud
Son los datos abiertos el medio para innovar en salud Son los datos abiertos el medio para innovar en salud
Son los datos abiertos el medio para innovar en salud
 
HealthRecSys: Phd Dissertation.
HealthRecSys: Phd Dissertation.HealthRecSys: Phd Dissertation.
HealthRecSys: Phd Dissertation.
 
Health WorldBank 2012
Health WorldBank 2012Health WorldBank 2012
Health WorldBank 2012
 
Mejora de Health WorldBank 2017
Mejora de Health WorldBank 2017Mejora de Health WorldBank 2017
Mejora de Health WorldBank 2017
 
Cultura Digital Básica
Cultura Digital BásicaCultura Digital Básica
Cultura Digital Básica
 
ePacientes
ePacientesePacientes
ePacientes
 
Presentacion med line ed bennett con ajax y dwr
Presentacion   med line ed bennett con ajax y dwrPresentacion   med line ed bennett con ajax y dwr
Presentacion med line ed bennett con ajax y dwr
 
Las Nuevas Tecnologías como intrumento de la Administración Pública
Las Nuevas Tecnologías como intrumento de la Administración PúblicaLas Nuevas Tecnologías como intrumento de la Administración Pública
Las Nuevas Tecnologías como intrumento de la Administración Pública
 
Gestión de equipos
Gestión de equiposGestión de equipos
Gestión de equipos
 
Inmigración y redes sociales. Las Tecnologías del Conocimiento como herramien...
Inmigración y redes sociales. Las Tecnologías del Conocimiento como herramien...Inmigración y redes sociales. Las Tecnologías del Conocimiento como herramien...
Inmigración y redes sociales. Las Tecnologías del Conocimiento como herramien...
 
Presentación KWIC
Presentación KWICPresentación KWIC
Presentación KWIC
 

Objetos influyen voces convencen hechos entusiasman

  • 1. “Las personas nos influyen, las voces nos conmueven, los libros nos convencen, los hechos nos entusiasman” Programación Orientada a Objetos Carlos Luis Sánchez Bocanegra @redeskako 2ª parte
  • 2. Índice Programación Orientada a Objetos 0.1. Control de Excepciones 0.2. Flujos de Entrada/Salida 0.3. Interfaz gráficas en JAVA
  • 3. Control de Excepciones Una excepción (Exception) en Java es un error, anomalía o problema en la ejecución de un método. Se lanza un objeto de esta clase, que puede ser tratado por el propio método que ha sucedido, También puede propagar hacia el método llamador, y así sucesivamente hasta llegar a la JVM
  • 4. Control de Excepciones Exception: superclase de todas las excepciones dispone: • Constructores • 'nombre'Exception() • 'nombre'Exception (String mensaje) • String getMessage() • void printStackTrace()
  • 5. Control de Excepciones Exception deriva en: • ClassNotFoundException • IllegalAccessException • NoSuchMethodException • RuntimeException (no obligado cumplimiento): • ClassCastException • NullPointerException •IndexOutOfBoundsException •IllegalArgumentException,...
  • 6. Control de Excepciones Excepciones de cumplimiento obligado: Exception debemos atender las posibles excepciones de dos formas: • Declarando que el método puede propagarlas. • Usando 'throws' para lanzarlas. • public met (Object obj) throws ClassCastException { .... }
  • 7. Control de Excepciones Excepciones de cumplimiento obligado: Exception debemos atender las posibles excepciones de dos formas: • Declarando que el método puede propagarlas. • Usando 'throws' para lanzarlas. • public met (Object obj) throws ClassCastException { .... }
  • 8. Control de Excepciones Definir bloques de captura de errores: try { // zona crítica ... } catch ('Nombre'Exception errorValor) { // Captura Error y tratamiento ... } finally { // ejecución asegurada }
  • 9. Control de Excepciones catch se puede: • Escribir código de recuperación • Ignorar la excepción • Verificar log • Relanzar la excepción • Envolver una nueva excepción ...
  • 10. Control de Excepciones Una excepción puede ser lanzada explícitamente por el programador mediante: • throw new MiErrorException(); Y también puede crear sus Excepciones mediante: • public class MiErrorException extends RuntimeException{ •...
  • 11. Índice Programación Orientada a Objetos 0.1. Control de Excepciones 0.2. Flujos de Entrada/Salida 0.3. Interfaz gráfica en JAVA
  • 12. Flujos de Entrada/Salida Un fichero en Java es un flujo de streams de comunicación. En realidad podriamos pensar en que conectamos un 'embudo' de envío de bytes a una bolsa y 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 es java.io.*
  • 13. Flujos de Entrada/Salida Un fichero en Java es un flujo de streams de comunicación. En realidad podriamos pensar en que conectamos un 'embudo' de envío de bytes a una bolsa y 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 es java.io.*
  • 14. Flujos de Entrada/Salida Existen dos grandes tipos de flujos: • Flujos binarios, orientados a bytes (ByteStream): • XXXInputStream • XXXOutputStream
  • 15. Flujos de Entrada/Salida Existen dos grandes tipos de flujos: • Flujos de texto, orientados a caracteres (de forma transparente acaba en bytes - CharacterStream: • XXXReader • XXXWriter
  • 16. Flujos de Entrada/Salida IOException Gestiona los erroresrelacionadas con la E/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. Flujos de Entrada/Salida La idea general es instanciar un objeto de una clase Stream mediante un sistema de tuberías (o embudos), de tal manera que cada filtro más interno está más especializado en el tipo de información que va a viajar por 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, puede usarse un objeto PrintWriter, envuelto en un FileOutputStream o en un FileWriter: PrintWriter pw = new PrintWriter (new FileWriter(“fichero.txt”));
  • 18. Índice Programación Orientada a Objetos 0.1. Control de Excepciones 0.2. Flujos de Entrada/Salida 0.3. Interfaz gráfica en JAVA
  • 19. Interfaz gráfica en JAVA java.awt.*: es el paquete contiene las clases e interfaces básicas para la construcción de una interfaz gráfica. java.awt.event.*: gestiona los eventos Java.swing.*: apoya y amplia java.awt.*
  • 20. Interfaz gráfica en JAVA java.awt.*: es el paquete contiene las clases e interfaces básicas para la construcción de una interfaz gráfica. java.awt.event.*: gestiona los eventos Java.swing.*: apoya y amplia java.awt.*
  • 21. Interfaz gráfica en JAVA Los elementos a más alto nivel son contenedores y componentes Los contenedores AWT son los almacenes de los componentes, tales como un Applet, Frame, Panel o Dialog Los componentes se corresponden con los elementos que se dibujan en la interfaz, y qu pueden recibir eventos: botones, campos de texto, etc.
  • 22. Interfaz gráfica en JAVA SWING Tiene contenedores que hereda de awt: - Los contenedores superiores son JApplet, JFrame, Jdialog,... - Los contenedores intermedios son JPanel, JScrollPane, JSplitPane, JTabbedPane, JToolbar, …
  • 24. Interfaz gráfica en JAVA Los Layout permiten detemrinar la distribución de los objetos 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. 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. Interfaz gráfica en JAVA Algunos 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. 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. 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. 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. 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. Interfaz gráfica en JAVA • JComboBox • JComboBox () • JComboBox (Vector) • boolean isEditable () • void setEditable (boolean) • … • JDialog • void setVisible (boolean) • void dispose () • JOptionPane
  • 32. Interfaz gráfica en JAVA JFrame + JPanel + button: SWING/GUI in Java http://www.youtube.com/watch?v=-sOqzUs1Hqk GridBag Layouts JAVA SWING http://www.youtube.com/watch?v=FB_wJpIdA8k MENU BAR TUTORIAL,help Swing, JMenuBar, Jmenu http://www.youtube.com/watch?v=dwLkDGm5EBc
  • 33. Interfaz gráfica en JAVA EVENTOS EN JAVA Cuando un evento se dispara sobre un componente, éste es recogido por objetos listeners, que realizan la acción apropiada Cada listener debe pertenecer a una clase que implemente cierta interface, dependiendo del evento de que se trate
  • 34. Interfaz gráfica en JAVA EVENTOS EN JAVA Interfaces: ActionListener → (botones y menús) FocusListener → (foco de controles) ItemListener → (casillas y listas) KeyListener → (teclado) MouseListener → (ratón) WindowListener → (ventanas)
  • 35. Interfaz gráfica en JAVA Applets Aplicaciones para ser ejecutadas en una página web, invocados y controlados por el navegador No atiende al método Se dispone de una etiqueta HTML: <applet code=“NombreClase.class” width=“200” heigth=“200”> </applet>
  • 36. Interfaz gráfica en JAVA Applets Su 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. Interfaz gráfica en JAVA Applets import java.awt.*; import java.applet.*; public class MiApplet extends Applet { public void init(){ Label etiqueta = new Label(“Hola”); getContentPane().add(etiqueta, BorderLayout.CENTER); } }
  • 38. Programación Orientada a Objetos Carlos Luis Sánchez Bocanegra carlosl.sanchez@gmail.com @redeskako