Está en la página 1de 35

UNIVERSIDAD TECNOLGICA DEL CENTRO DE VERACRUZ

DESARROLLO DE APLICACIONES I
Manual de materia
ISC. Mara Reina Zarate Nava Enero-Abril 2013

UNIVERSIDAD TECNOLGICA DEL CENTRO DE VERACRUZ 1 DESARROLLO DE APLICACIONES I

ndice
Objetivo General ................................................................................................................................. 3 Competencias ...................................................................................................................................... 3 Introduccin ........................................................................................................................................ 4 UNIDAD I. PARADIGMAS DE LA PROGRAMACIN ORIENTADA A OBJETOS ....................................... 5 Objetivo: .......................................................................................................................................... 5 Introduccin: ................................................................................................................................... 5 1.1 PARADIGMA DE PROGRAMACIN ESTRUCTURADA ................................................................. 5 Objetivo especfico: ..................................................................................................................... 5 Introduccin: ............................................................................................................................... 5 Conclusin: .................................................................................................................................. 5 1.2 PARADIGMA DE PROGRAMACIN ORIENTADA A OBJETOS ..................................................... 5 Objetivo especfico: ..................................................................................................................... 5 Introducci: ................................................................................................................................. 6 Conclusin: .................................................................................................................................. 7 Conclusin de la Unidad I ................................................................................................................ 7 UNIDAD II. AMBIENTE DE DESARROLLO.............................................................................................. 8 Objetivo: .......................................................................................................................................... 8 Introduccin: ................................................................................................................................... 8 2.1 GENERALIDADES DE LA HERRAMIENTA DE DESARROLLO ......................................................... 8 Objetivo especfico: ..................................................................................................................... 8 Introduccin: ............................................................................................................................... 8 Conclusin: .................................................................................................................................. 9 2.2 CARACTERSTICAS DE LA INTERFAZ DE DESARROLLO ............................................................... 9 Objetivo especfico: ..................................................................................................................... 9 Introduccin: ............................................................................................................................... 9 Conclusin: ................................................................................................................................ 11 Conclusin de la Unidad II ............................................................................................................. 11 UNIDAD III. DISEO Y DESARROLLO DE APLICACIONES .................................................................... 12 Objetivo: ........................................................................................................................................ 12

UNIVERSIDAD TECNOLGICA DEL CENTRO DE VERACRUZ 2 DESARROLLO DE APLICACIONES I Introduccin: ................................................................................................................................. 12 3.1 CONTROLES ............................................................................................................................. 12 Objetivo especfico: ................................................................................................................... 12 Introduccin: ............................................................................................................................. 12 Conclusin: ................................................................................................................................ 13 3.2 Uso de controles (componentes) bsicos. ....................................................................................................................................................... 14 Objetivo especfico: ................................................................................................................... 14 Introduccin: ............................................................................................................................. 14 Conclusin: ................................................................................................................................ 18 3.3 Cuadro de Dilogo ....................................................................................................................................................... 18 Objetivo especfico: ................................................................................................................... 18 Introduccin: ............................................................................................................................. 18 Conclusin: ................................................................................................................................ 19 3.4 Mens ....................................................................................................................................................... 19 Objetivo especfico: ................................................................................................................... 19 Introduccin: ............................................................................................................................. 19 Conclusin: ................................................................................................................................ 19 3.4 Proyectos de formularios mltiples ........................................................................................ 19 Objetivo especfico: ................................................................................................................... 19 Introduccin: ............................................................................................................................. 20 Conclusin: ................................................................................................................................ 25 3.6 Manejo de excepciones........................................................................................................... 25 Objetivo especfico: ................................................................................................................... 25 Introduccin: ............................................................................................................................. 25 Conclusin: ................................................................................................................................ 26 Conclusin de la Unidad III ............................................................................................................ 26

UNIVERSIDAD TECNOLGICA DEL CENTRO DE VERACRUZ 3 DESARROLLO DE APLICACIONES I

Objetivo General
El alumno desarrollar aplicaciones visuales con acceso a una BD local para administrar la informacin.

Competencias
Implementar sistemas de informacin de calidad, a travs de tcnicas avanzadas de desarrollo de software para eficientar los procesos de las organizaciones. Implementar y administrar sistemas manejadores de bases de datos acorde a los requerimientos de informacin de la organizacin.

Tecnologas de la Informacin y Comunicacin, rea SISTEMAS Enero-Abril 2013

UNIVERSIDAD TECNOLGICA DEL CENTRO DE VERACRUZ 4 DESARROLLO DE APLICACIONES I

Introduccin
En la actualidad la tecnologa ha llegado a todos los rincones del mundo. La globalizacin ha provocado que las empresas tengan que volverse ms competitiva e invertir en la tecnologa, adquiriendo sitios web, aplicaciones de escritorio e incluso en la actualidad aplicaciones mviles. Para cumplir con las demandas de las empresas, se han creado distintos lenguajes de programacin C#, Java, ASP.Net, Python, entre otros. Para el presente curso compete JAVA. Java es lenguaje de programacin que actualmente est en boca de todos y ha creado autntica revolucin. Java 2 se resume en la diversificacin de Java en tres grandes ramas: grandes computadoras, computadoras de escritorio y dispositivos de memoria limitada. Sun Microsystems ha defino al lenguaje java simplemente como Plataforma Java 2 y se ha distribuido en distintas vertientes dependiendo del sector al que se dirige: J2SE, J2EE y J2ME. En este curso se trabajar con Java 2 Standar Edition (J2SE), porque est orientada a computadoras de escritorio y JDK que comprende incorpora clases adicionales para facilitar el desarrollo de aplicaciones Java en donde la interfaz de usuario tiene una importancia muy especial. En la Unidad I se trabajan con los paradigmas de la programacin, dndole especial enfoque a la Programacin orientada a objetos (POO). Esta unidad es fundamental para el resto de plan de estudios, dado que debe quedar bien sentado los conceptos de: objeto, clase, abstraccin, encapsulamiento, herencia y polimorfismo. En la Unidad II el participante se debe familiarizar con el ambiente de desarrollo, para el cuatrimestre actual se trabajar con Eclipse Juno, el cual es perfecto para introducir al alumno a crear aplicaciones desde cdigo y no desde el escritorio. La Unidad III es la clave de la materia en ella se realizarn las operaciones CRUD a la base de datos, para el caso de la base de datos, est se trabajar en Postgresql 9.2. La unidad IV se enfoca a la conexin a la base de datos y la realizacin de reportes. Los reportes se trabajan en Jasper Report. Finalmente, este curso esta descrito de manera gil y sencilla, proporcionando conocimientos prcticos que deben implementar en una empresa, mediante la ESCUELA PRCTICA, lo cual permite realizar sistemas a la medida y proporcionales al participante experiencia laboral en una empresa de la regin.

Tecnologas de la Informacin y Comunicacin, rea SISTEMAS Enero-Abril 2013

UNIVERSIDAD TECNOLGICA DEL CENTRO DE VERACRUZ 5 DESARROLLO DE APLICACIONES I

UNIDAD I. PARADIGMAS DE LA PROGRAMACIN ORIENTADA A OBJETOS Objetivo: El alumno identificar los principales paradigmas de la programacin para diferenciar su mbito de aplicacin. Introduccin:
En esta unidad se presentan los conceptos de la programacin orienta a objetos (POO), los cuales tienen alta repercusin en el lenguaje java. El elemento bsico de la programacin orientada a objetos es una clase, la cual define la forma y comportamiento de un Objeto. Todo en Java gira alrededor de estos conceptos, en esta unidad el participante se adentra en la ampliacin de los conceptos tericos enfocados hacia el estilo de la POO.

1.1 PARADIGMA DE PROGRAMACIN ESTRUCTURADA


Objetivo especfico: Identificar las caractersticas del paradigma de programacin estructurada. Introduccin: La programacin estructura es uno de los primeros paradigmas de la programacin, en la cual se empezaron a utilizar los mtodos para separar la informacin y darle una especie de estructura para poder identificar los errores. Ejercicio 1: Solicitar definir las caractersticas de la programacin estructurada. Conclusin: Se puede concluir que aunque no sea la mejor opcin para programar, la PE dejo la base para la programacin orientada a objetos y que todava en la actualidad se sigue utilizando.

1.2 PARADIGMA DE PROGRAMACIN ORIENTADA A OBJETOS


Objetivo especfico: El participante identificar las caractersticas del paradigma de programacin orientada a objetos.

Tecnologas de la Informacin y Comunicacin, rea SISTEMAS Enero-Abril 2013

UNIVERSIDAD TECNOLGICA DEL CENTRO DE VERACRUZ 6 DESARROLLO DE APLICACIONES I Introduccin: La programacin orientada a objetos se ha convertido en el paradigma ms utilizado en la actualidad. Este paradigma se basa en el uso de las clases y a partir de ellas se crean conceptos que son fundamentales: encapsulacin, herencia y polimorfismo. Ejercicio 1: Solicitar definir los conceptos fundamentos de la programacin orientada a objetos, es decir, los pilares de la POO. CLASE: Una clase es una agrupacin de datos (variables o campos) y de funciones (mtodos) que operan sobre esos datos.
[public] class Classname { // definicin de variables y mtodos ... }

INTERFACE: Una interface es un conjunto de declaraciones de funciones. Si una clase implementa (implements) una interface, debe definir todas las funciones especificadas por la interface. Las interfaces pueden definir tambin variables finales (constantes). Una clase puede implementar ms de una interface, representando una forma alternativa de la herencia mltiple. CONSTRUCTORES: Un punto clave de la Programacin Orientada Objetos es el evitar informacin incorrecta por no haber sido inicializadas correctamente las variables. El segundo paso en la inicializacin correcta de objetos es el uso de constructores. Un constructor es un mtodo que se llama automticamente cada vez que se crea un objeto de una clase. La principal misin del constructor es reservar memoria e inicializar la variable miembro de la clase. Los constructores no tienen valor de retorno (ni siquiera void) y su nombre es el mismo que el de la clase. Su argumento implcito es el objeto que se est creando ENCAPSULACIN: Las clases pueden ser declaradas como pblicas (public) y como package (accesibles slo para otras clases del package). Las variables miembro y los mtodos pueden ser public,

Tecnologas de la Informacin y Comunicacin, rea SISTEMAS Enero-Abril 2013

UNIVERSIDAD TECNOLGICA DEL CENTRO DE VERACRUZ 7 DESARROLLO DE APLICACIONES I private, protected y package. De esta forma se puede controlar el acceso y evitar un uso inadecuado HERENCIA: Una clase puede derivar de otra (extends), y en ese caso hereda todas sus variables y mtodos. Una clase derivada puede aadir nuevas variables y mtodos y/o redefinir las variables y mtodos heredados. POLIMORFISMO: Los objetos de distintas clases pertenecientes a una misma jerarqua o que implementan una misma interface pueden tratarse de una forma general e individualizada, al mismo tiempo. Esto, como se ha visto en el ejemplo del Captulo 1, facilita la programacin y el mantenimiento del cdigo. Conclusin: Se puede concluir que en la programacin orientada a objetos las clases definen cualquier objeto que se pueda manipular. Por s mismo, java hace uso de la POO dentro de su cdigo, mostrando muchas clases tiles que se pueden utilizar para incluir desde grfico hasta sonido a una aplicacin.

Conclusin de la Unidad I
La programacin orientada a objetos presenta mucha ventaja sobre la programacin estructurada. Dichas ventajas se pueden poner a prctica en la realidad. La POO facilita la reutilizacin de cdigo, fcil bsqueda y correccin de errores.

Tecnologas de la Informacin y Comunicacin, rea SISTEMAS Enero-Abril 2013

UNIVERSIDAD TECNOLGICA DEL CENTRO DE VERACRUZ 8 DESARROLLO DE APLICACIONES I

UNIDAD II. AMBIENTE DE DESARROLLO Objetivo:


El alumno operar las funciones de un entorno de desarrollo para generar una aplicacin.

Introduccin:
En esta unidad se presentan las generalidades de los ambientes de desarrollo. Para Java existen muchos entornos, pero los que ms se destacan son ECLIPSE y NETBEANS. Para el desarrollo del presente curso se trabajar con Eclipse Indigo.

2.1 GENERALIDADES DE LA HERRAMIENTA DE DESARROLLO


Objetivo especfico: Identificar los diferentes tipos de entornos de desarrollo para los lenguajes de programacin existentes. Introduccin: Para Java existen muchos entornos, pero los que ms se destacan son ECLIPSE y NETBEANS. Para el desarrollo del presente curso se trabajar con Eclipse Indigo. Ejercicio 1: Solicitar exposiciones de las herramientas de desarrollo: NETBEANS y ECLIPSE. Ejercicion 2: De la herramienta eclipse, determinar los men y botones ms utilizados.

Ilustracin 1. Splash de Eclipse.

Tecnologas de la Informacin y Comunicacin, rea SISTEMAS Enero-Abril 2013

UNIVERSIDAD TECNOLGICA DEL CENTRO DE VERACRUZ 9 DESARROLLO DE APLICACIONES I Conclusin: ECLIPSE es el entorno de desarrollo que ms se adapta al curso, debido a que requiere menos recursos que NETBEANS y adems si no le instalas los plugins, el participante tendr que realizar todo en cdigo, el cual es el objetivo del curso.

2.2 CARACTERSTICAS DE LA INTERFAZ DE DESARROLLO


Objetivo especfico: Identificar las funciones principales (crear, abrir, guardar, compilar, ejecutar, depurar) de operacin en los entornos de desarrollo de programacin Introduccin: Establecido el uso de Eclipse Indigo, es necesario que el participante se familiarice con las funciones principales. Los botones son muy usables, lo cual facilitar el aprendizaje del entorno. Ejercicio 1: Solicitar la creacin de PROYECTOS. Los proyectos se pueden crear en Eclipse, desde: FILE/NEW/PROJECT.

Ilustracin 2. Tipos de proyectos en Java

El JAVA PROJECT, es el proyecto genrico para empezar desde cero.

Tecnologas de la Informacin y Comunicacin, rea SISTEMAS Enero-Abril 2013

UNIVERSIDAD TECNOLGICA DEL CENTRO DE VERACRUZ 10 DESARROLLO DE APLICACIONES I

Ilustracin 3. Configuracin del proyecto.

Ejercicion 2: De la herramienta eclipse, determinar los men y botones ms utilizados. Los mens ofrecen el acceso a todas las opciones del Eclipse, pero los botones en las barras de herramientas, permiten que este se ms rpido.

Ilustracin 4. Mens y botones ms utilizados.

El Project Explorer, permite la fcil apertura y cierra de proyectos. Adems de que brinda un acceso rpido a todo el cdigo fuente, libreras y configuracin.

Ilustracin 5. Project Explorer

Tecnologas de la Informacin y Comunicacin, rea SISTEMAS Enero-Abril 2013

UNIVERSIDAD TECNOLGICA DEL CENTRO DE VERACRUZ 11 DESARROLLO DE APLICACIONES I Conclusin: ECLIPSE es el entorno de desarrollo que ms se adapta al curso, debido a que requiere menos recursos que NETBEANS y adems si no le instalas los plugins, el participante tendr que realizar todo en cdigo, el cual es el objetivo del curso.

Conclusin de la Unidad II
ECLIPSE es un entorno de desarrollo poderoso, ideal para introducir al participante a la realizacin de interfaces grficos. Contiene una interfaz usable, y varios atajos y ayudas que le facilitara el proceso de desarrollo al programador.

Tecnologas de la Informacin y Comunicacin, rea SISTEMAS Enero-Abril 2013

UNIVERSIDAD TECNOLGICA DEL CENTRO DE VERACRUZ 12 DESARROLLO DE APLICACIONES I

UNIDAD III. DISEO Y DESARROLLO DE APLICACIONES Objetivo:


El alumno crear interfaces grficas usando controles (componentes), manejo de excepciones y mltiples formas para elaborar aplicaciones visuales.

Introduccin:
En esta unidad se presenta al participante la manera de crear interfaces grficas a travs de SWING y el proceso para agregarles controles a las mismas, todo desde cdigo fuente.

3.1 CONTROLES
Objetivo especfico: Identificar el concepto de controles (componentes), tipos, propiedades, mtodos, atributos y eventos. Introduccin: SWING proporciona un conjunto completo de componentes, todos ellos LIGHTWEIGHT, es decir, ya no se usan componentes Peer dependientes del sistema operativo, y adems SWING est totalmente escrito en Java. Ejercicio 1: Solicitar la arquitectura de Swing.
JComponente (Modelo MVC)

Vista MVC

Componente UI

Controlador MVC

Ilustracin 6. Arquitectura SWING.

Ejercicion 2: Identificar los componentes principales dentro de SWING, junto con sus propiedades, mtodos, atributos y eventos.

Tecnologas de la Informacin y Comunicacin, rea SISTEMAS Enero-Abril 2013

UNIVERSIDAD TECNOLGICA DEL CENTRO DE VERACRUZ 13 DESARROLLO DE APLICACIONES I Etiquetas (JLabel) Botones (JButton) Grupo de botones (JRadioButton y JCheckBox) Listas (JList) Cajas combinadas(JComboBox) Texto (JTextField) Tool tips Iconos (ImageIcon) Mens (Toolbar, Menu) Popud Tablas (JTable) Look and Feel

CREACIN DE LOS CONTROLES Y ASIGNACIN DE ATRIBUTOS.


JLabel lblId = new JLabel("ID:"); lblId.setFont(new Font("Tahoma", Font.BOLD, 16)); lblId.setBounds(79, 13, 32, 14); contentPane.add(lblId);

ASIGNACIN DE UN EVENTO A UN BOTN.


btnNuevo.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { //codigo } });

Conclusin: Los componentes que ofrece SWING son muy variados, adems de brindar muchas ventajas sobre el AWT. Durante este tema el participante reforz los conceptos de la programacin orientada a objetos.

Tecnologas de la Informacin y Comunicacin, rea SISTEMAS Enero-Abril 2013

UNIVERSIDAD TECNOLGICA DEL CENTRO DE VERACRUZ 14 DESARROLLO DE APLICACIONES I

3.2 Uso de controles (componentes) bsicos.


Objetivo especfico: Identificar el uso los controles (componentes): formulario, botones, cuadros de texto, listas, listas desplegables, etiquetas, cuadros de imagen, casillas de verificacin, controles de fecha y hora, botones de opciones. Introduccin: En esta unidad el participante elaborar aplicaciones utilizando los diferentes tipos de controles: formularios, botones, cuadros de texto, listas y listas desplegables, etiquetas, cuadros de imgenes, paneles, casillas de verificacin, calendarios. Ejercicio 1: Solicitar crear un proyecto para la suma de nmeros. El objetivo es familiarizar al participante con los eventos.

Ilustracin 7. Diseo del formulario para sumar nmeros.

CDIGO PARA LA INTERFAZ:


public class VSuma extends JFrame { //Atributos private JLabel lblNumero1; private JLabel lblNumero2; private JLabel lblResultado; private JTextField txtNumero1; private JTextField txtNumero2; private JTextField txtResultado; private JButton btnSumar; private JButton btnLimpiar; //Constructor public VSuma(){ lblNumero1 = new JLabel("Nmero 1:");

Tecnologas de la Informacin y Comunicacin, rea SISTEMAS Enero-Abril 2013

UNIVERSIDAD TECNOLGICA DEL CENTRO DE VERACRUZ 15 DESARROLLO DE APLICACIONES I


lblNumero2 = new JLabel("Nmero 2:"); lblResultado = new JLabel("Resultado:"); txtNumero1= new JTextField(); txtNumero2= new JTextField(); txtResultado=new JTextField(); btnSumar= new JButton("Sumar"); btnLimpiar=new JButton("Limpiar"); //Inicializar formulario setTitle("Suma de Nmeros");//Mtodo para asignar nombre a la ventana setLayout(null);//No se asigna layout. setSize(300,250); setDefaultCloseOperation(EXIT_ON_CLOSE);//Terminar proceso al cerrar la ventana } public void crear(){ //Acomodar los controles lblNumero1.setBounds(20, 30, 80, 30); txtNumero1.setBounds(90, 30, 150, 30); lblNumero2.setBounds(20,70,80,30); txtNumero2.setBounds(90, 70, 150, 30); btnSumar.setBounds(90, 110, 80, 30); btnLimpiar.setBounds(180, 110, 80, 30); lblResultado.setBounds(20, 150, 80, 30); txtResultado.setBounds(90, 150, 150, 30); txtResultado.setEditable(false); //Agregar los controles al formulario add(lblNumero1); add(txtNumero1); add(txtNumero2); add(lblNumero2); add(btnSumar); add(btnLimpiar); add(lblResultado); add(txtResultado); } public void visualizar(){ setVisible(true); } public void eventos(){ btnSumar.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { //Evento Click int numero1 = Integer.parseInt(txtNumero1.getText()); int numero2 = Integer.parseInt(txtNumero2.getText()); int resultado = numero1+numero2; txtResultado.setText(String.valueOf(resultado)); } }); btnLimpiar.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { //Evento click del botn limpiar txtNumero1.setText(""); txtNumero2.setText("");

Tecnologas de la Informacin y Comunicacin, rea SISTEMAS Enero-Abril 2013

UNIVERSIDAD TECNOLGICA DEL CENTRO DE VERACRUZ 16 DESARROLLO DE APLICACIONES I


txtResultado.setText(""); } }); } }

CDIGO PARA LA EJECUCIN:


public class Inicio {

public static void main(String[] args) { // Crear una instancia de la clase VSuma VSuma form = new VSuma(); form.crear();//Invocar al mtodo crear form.visualizar(); //Invocar al mtodo visualizar form.eventos();//Invocar al mtodo eventos. } }

Ejercicion 2: Desarrollar un proyecto que permita agregar elementos a un lista desplegable. Los controles a utilizar son: JLabel JCombobox JPanel JButton JTextField

Ilustracin 8. Interfaz grfica

CDIGO:
public class Lista extends JFrame{ //Controles private JPanel pLista; private JComboBox cbPaises; private JLabel lblPais; private JButton btnAgregar; private JTextField txtPais; //Modelo del Combo private DefaultComboBoxModel modelo;

Tecnologas de la Informacin y Comunicacin, rea SISTEMAS Enero-Abril 2013

UNIVERSIDAD TECNOLGICA DEL CENTRO DE VERACRUZ 17 DESARROLLO DE APLICACIONES I


public Lista(){ pLista= new JPanel(); cbPaises= new JComboBox(); lblPais=new JLabel("Pais:"); btnAgregar=new JButton("Agregar"); txtPais=new JTextField(); //Inicializar el modelo modelo = new DefaultComboBoxModel(); //Ventana setTitle("ComboBox"); setSize(400,150); setLayout(null); setDefaultCloseOperation(EXIT_ON_CLOSE); } public void crear(){ //Font lblPais.setFont(new Font("Arial",Font.BOLD,16)); txtPais.setFont(new Font("Arial",Font.PLAIN,16)); btnAgregar.setFont(new Font("Arial",Font.BOLD,16)); //Posicion pLista.setBounds(10, 5, 350, 75); pLista.setBorder(BorderFactory.createTitledBorder(null,"Paises",TitledBorder.DEFAULT_JUSTIFICATION,TitledB order.DEFAULT_POSITION, new Font("Dialog",Font.BOLD,12),new Color(51,51, 51))); lblPais.setBounds(15, 20, 100, 20); txtPais.setBounds(80,20,140,20); btnAgregar.setBounds(225,20,100,20); cbPaises.setBounds(15,45,150,20); //Agregar pLista.setLayout(null); pLista.add(txtPais); pLista.add(btnAgregar); //Se une el modelo con el ComboBox cbPaises.setModel(modelo); pLista.add(cbPaises); pLista.add(lblPais); add(pLista); } public void visualizar(){ setVisible(true); } public void eventos(){ btnAgregar.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { // TODO Auto-generated method stub String pais= txtPais.getText(); modelo.addElement(pais); txtPais.setText(""); } }); } }

Tecnologas de la Informacin y Comunicacin, rea SISTEMAS Enero-Abril 2013

UNIVERSIDAD TECNOLGICA DEL CENTRO DE VERACRUZ 18 DESARROLLO DE APLICACIONES I

CDIGO PARA EJECUTAR:


public class Principal { public static void main(String[] args) { Lista form = new Lista(); form.crear(); form.eventos(); form.visualizar(); } }

Conclusin: ECLIPSE es el entorno de desarrollo que ms se adapta al curso, debido a que requiere menos recursos que NETBEANS y adems si no le instalas los plugins, el participante tendr que realizar todo en cdigo, el cual es el objetivo del curso.

3.3 Cuadro de Dilogo


Objetivo especfico: Identificar los tipos de cuadros de dilogo y su uso. Introduccin: En esta unidad el participante Elaborar aplicaciones que utilicen cuadros de dilogo. Ejercicio 1: Solicitar crear un proyecto en el cual se le enve un cuadro dialogo con el resultado de una operacin. Swing proporciona nuevos modelos de cuadros de dilogo predefinidos del sistema, como son: Dilogo de seleccin de colores. Dilogo de seleccin de ficheros. Dilogos de aviso, error y confirmacin.

CDIGO PARA CREAR UN CUADRO DE DILOGO:


JOptionPane.showConfirmDialog( this, Responda s o no,Ejemplo,JOptionPane.YES_NO_OPTION)

Tecnologas de la Informacin y Comunicacin, rea SISTEMAS Enero-Abril 2013

UNIVERSIDAD TECNOLGICA DEL CENTRO DE VERACRUZ 19 DESARROLLO DE APLICACIONES I Conclusin: Los cuadros de dilogo, en algunos casos, permiten la seleccin de ficheros y suelen ser una venta modal, ya que los cambios que se produzcan en ella, o la seleccin que se haga, repercutirn en el funcionamiento de la aplicacin en general.

3.4 Mens
Objetivo especfico: Identificar los tipos de mens (estndar, contextual y barra de herramientas) y su uso. Introduccin: En esta unidad el participante elaborar aplicaciones que utilicen mens. Ejercicio 1: Solicitar crear un proyecto en el cual se utilicen mens. Los mens estn mucho mejor desarrollados y son ms flexibles en SWING que los que se encuentran habitualmente en otras herramientas, incluyendo paneles y applets. La sintaxis para utilizarlos es:
JMenuBar menuBar = new JMenuBar(); setJMenuBar(menuBar); menuBar.add(btnUniversidad); menuBar.add(btnCarreras); menuBar.add(btnMaterias);

INTERFAZ:

Ilustracin 9. visualizacin del MenuBar

Conclusin: Los mens son muy utilizados en la programacin de aplicaciones. Es importante dejar claro en el participante que existen diferentes estilos y que cada uno puede usar el propio.

3.4 Proyectos de formularios mltiples


Objetivo especfico: Identificar las caractersticas de un proyecto que maneja 2 o ms formas.

Tecnologas de la Informacin y Comunicacin, rea SISTEMAS Enero-Abril 2013

UNIVERSIDAD TECNOLGICA DEL CENTRO DE VERACRUZ 20 DESARROLLO DE APLICACIONES I Identificar el proceso a seguir para generar un proyecto con mltiples formas. Introduccin: En esta unidad el participante elaborar aplicaciones que utilicen formularios multiples. Ejercicio 1: Solicitar una aplicacin en la que se realice un men y se incorporen proyectos anteriores. INTERFAZ:

Ilustracin 10. Visualizacin de formularios mltiples.

CDIGO:
public class Menu extends JFrame { private JButton btnEncuesta; private JButton btnPaises; private ImageIcon iconoEncuesta; private ImageIcon iconoPais;

//Constructor public Menu(){ iconoEncuesta=new ImageIcon("../Encuesta/src/iconos/encuestas.png"); iconoPais= new ImageIcon("../Encuesta/src/iconos/paises.png");

btnEncuesta = new JButton("Encuesta",iconoEncuesta); btnEncuesta.setHorizontalTextPosition(SwingConstants.RIGHT); btnPaises = new JButton("Paises",iconoPais); btnPaises.setHorizontalTextPosition(SwingConstants.LEFT); setTitle("MENU"); setLayout(null); setDefaultCloseOperation(EXIT_ON_CLOSE); setSize(400,200); } public void crear(){

Tecnologas de la Informacin y Comunicacin, rea SISTEMAS Enero-Abril 2013

UNIVERSIDAD TECNOLGICA DEL CENTRO DE VERACRUZ 21 DESARROLLO DE APLICACIONES I


btnEncuesta.setBounds(10, 50, 150, 40); btnPaises.setBounds(220,50,150,40); add(btnEncuesta); add(btnPaises); } public void visualizar(){ setVisible(true); } public void eventos(){ ////ENCUESTA btnEncuesta.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { FormEncuesta frm = new FormEncuesta(); frm.crear(); frm.eventos(); frm.visualizar(); } }); ////////PAISES btnPaises.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { Lista l = new Lista(); l.crear(); l.eventos(); l.visualizar(); } }); }

} public class Lista extends JFrame{ //Controles private JPanel pLista; private JComboBox cbPaises; private JLabel lblPais; private JButton btnAgregar; private JTextField txtPais; //Modelo del Combo private DefaultComboBoxModel modelo; public Lista(){ pLista= new JPanel(); cbPaises= new JComboBox(); lblPais=new JLabel("Pais:"); btnAgregar=new JButton("Agregar"); txtPais=new JTextField(); //Inicializar el modelo modelo = new DefaultComboBoxModel(); //Ventana setTitle("ComboBox");

Tecnologas de la Informacin y Comunicacin, rea SISTEMAS Enero-Abril 2013

UNIVERSIDAD TECNOLGICA DEL CENTRO DE VERACRUZ 22 DESARROLLO DE APLICACIONES I


setSize(400,150); setLayout(null); //setDefaultCloseOperation(EXIT_ON_CLOSE); } public void crear(){ //Font lblPais.setFont(new Font("Arial",Font.BOLD,16)); txtPais.setFont(new Font("Arial",Font.PLAIN,16)); btnAgregar.setFont(new Font("Arial",Font.BOLD,16)); //Posicion pLista.setBounds(10, 5, 350, 75); pLista.setBorder(BorderFactory.createTitledBorder(null,"Paises",TitledBorder.DEFAULT_JUSTIFICATI ON,TitledBorder.DEFAULT_POSITION, new Font("Dialog",Font.BOLD,12),new Color(51,51, 51))); lblPais.setBounds(15, 20, 100, 20); txtPais.setBounds(80,20,140,20); btnAgregar.setBounds(225,20,100,20); cbPaises.setBounds(15,45,150,20); //Agregar pLista.setLayout(null); pLista.add(txtPais); pLista.add(btnAgregar); //Se une el modelo con el ComboBox cbPaises.setModel(modelo); pLista.add(cbPaises); pLista.add(lblPais); add(pLista); } public void visualizar(){ setVisible(true); } public void eventos(){ btnAgregar.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { // TODO Auto-generated method stub String pais= txtPais.getText(); modelo.addElement(pais); txtPais.setText(""); } }); } } public class FormEncuesta extends JFrame { private JTextField txtNombre; private JLabel lblNombre; private JLabel lblSexo; private JRadioButton rbMasculino; private JRadioButton rbFemenino; private JCheckBox ckEdad; private JCheckBox ckHijos; private JCheckBox ckCarrera;

Tecnologas de la Informacin y Comunicacin, rea SISTEMAS Enero-Abril 2013

UNIVERSIDAD TECNOLGICA DEL CENTRO DE VERACRUZ 23 DESARROLLO DE APLICACIONES I


private JButton btnMostrar; private JPanel pEncuesta; private ButtonGroup grupo;//Control para agrupar RadioButtons //Constructor public FormEncuesta(){ txtNombre=new JTextField(); lblNombre= new JLabel("Nombre:"); lblSexo= new JLabel("Sexo:"); rbMasculino= new JRadioButton("Masculino"); rbFemenino = new JRadioButton("Femenino"); ckEdad = new JCheckBox("Es usted mayor de edad?"); ckHijos = new JCheckBox("Tiene hijos?"); ckCarrera = new JCheckBox("Estudio alguna carrera profesional?"); btnMostrar = new JButton("Mostrar resultados"); pEncuesta= new JPanel(null); grupo = new ButtonGroup();//Inicializar el buttonGroup setTitle("Encuesta"); setLayout(null); //setDefaultCloseOperation(EXIT_ON_CLOSE); setSize(420,350); } public void crear(){ //Fuente lblNombre.setFont(new Font("Arial",Font.BOLD,14)); lblSexo.setFont(new Font("Arial",Font.BOLD,14)); btnMostrar.setFont(new Font("Arial",Font.BOLD,14)); rbFemenino.setFont(new Font("Arial",Font.PLAIN,14)); rbMasculino.setFont(new Font("Arial",Font.PLAIN,14)); ckCarrera.setFont(new Font("Arial",Font.PLAIN,14)); ckEdad.setFont(new Font("Arial",Font.PLAIN,14)); ckHijos.setFont(new Font("Arial",Font.PLAIN,14)); txtNombre.setFont(new Font("Arial",Font.PLAIN,14)); pEncuesta.setFont(new Font("Arial",Font.BOLD,14));

lblNombre.setBounds(10, 10, 70, 20); txtNombre.setBounds(80, 10, 300, 20); pEncuesta.setBounds(10,40,370,200); pEncuesta.setBorder(BorderFactory.createTitledBorder(null,"Encuesta",TitledBorder.DEFAULT_JUSTI FICATION,TitledBorder.DEFAULT_POSITION, new Font("Dialog",Font.PLAIN,16),new Color(51,51, 51))); lblSexo.setBounds(15,45,70,20); rbFemenino.setBounds(70,35,90,20); rbMasculino.setBounds(70,55,90,20); ckEdad.setBounds(15, 90, 300, 20); ckHijos.setBounds(15, 120, 300, 20); ckCarrera.setBounds(15, 150, 300, 20); btnMostrar.setBounds(50,250,200,40); add(lblNombre); add(txtNombre); pEncuesta.add(lblSexo); //Se agregan los radioButtons al Grupo. grupo.add(rbFemenino); grupo.add(rbMasculino); pEncuesta.add(rbFemenino);

Tecnologas de la Informacin y Comunicacin, rea SISTEMAS Enero-Abril 2013

UNIVERSIDAD TECNOLGICA DEL CENTRO DE VERACRUZ 24 DESARROLLO DE APLICACIONES I


pEncuesta.add(rbMasculino); pEncuesta.add(ckEdad); pEncuesta.add(ckCarrera); pEncuesta.add(ckHijos); add(pEncuesta); add(btnMostrar); } public void visualizar(){ setVisible(true); } public void eventos(){ //Botn Mostrar btnMostrar.addActionListener(new ActionListener( ){ @Override public void actionPerformed(ActionEvent e) { String mensaje=""; if(txtNombre.getText().trim().isEmpty()){ JOptionPane.showMessageDialog(rootPane, "Datos incompletos"); } else{ mensaje += "Nombre: " + txtNombre.getText(); /////////SEXO if(rbFemenino.isSelected()==true){ mensaje += "\nSexo: " + rbFemenino.getText(); } else if(rbMasculino.isSelected()==true){ mensaje += "\nSexo: " + rbMasculino.getText(); else{ mensaje += "Sexo: Indefinido"; } ///EDAD if(ckEdad.isSelected()==true){ mensaje +="\nUsted es mayor de Edad"; } ///HIJOS if(ckHijos.isSelected()==true){ mensaje+="\nUsted tiene hijos"; } ///CARRERA if(ckCarrera.isSelected()==true){ mensaje+="\nUsted estudio una carrera profesional"; } ///MENSAJE JOptionPane.showMessageDialog(rootPane, mensaje); }///Fin del else

} }); } }

Tecnologas de la Informacin y Comunicacin, rea SISTEMAS Enero-Abril 2013

UNIVERSIDAD TECNOLGICA DEL CENTRO DE VERACRUZ 25 DESARROLLO DE APLICACIONES I Conclusin: Los formularios mltiples permiten el desarrollo de aplicaciones ms enriquecidas y usables para el usuario final. Lo anterior enriquece la experiencia del usuario con la aplicacin.

3.6 Manejo de excepciones


Objetivo especfico: Reconocer el manejo de excepciones en un entorno visual. Introduccin: En esta unidad el participante elaborar aplicaciones que controlen excepciones. Ejercicio 1: Solicitar crear un proyecto con control de excepciones. En el lenguaje Java, una Exception es un cierto tipo de error o una condicin anormal que se ha producido durante la ejecucin de un programa. Algunas excepciones son fatales y provocan que se deba finalizar la ejecucin del programa. En este caso conviene terminar ordenadamente y dar un mensaje explicando el tipo de error que se ha producido. Otras, como por ejemplo no encontrar un fichero en el que hay que leer o escribir algo, pueden ser recuperables. En este caso el programa debe dar al usuario la oportunidad de corregir el error (indicando una nueva localizacin del fichero no encontrado).

Ilustracin 11. Jerarqua de clases en las excepciones.

Las clases derivadas de Exception pueden pertenecer a distintos packages de Java. Algunas perenecen a java.lang (Throwable, Exception, RuntimeException, ); otras a java.io

Tecnologas de la Informacin y Comunicacin, rea SISTEMAS Enero-Abril 2013

UNIVERSIDAD TECNOLGICA DEL CENTRO DE VERACRUZ 26 DESARROLLO DE APLICACIONES I (EOFException, FileNotFoundException, ...) o a otros packages. Por heredar de Throwable todos los tipos de excepciones pueden usar los mtodos siguientes: 1. String getMessage() Extrae el mensaje asociado con la excepcin. 2. String toString() Devuelve un String que describe la excepcin. 3. void printStackTrace() Indica el mtodo donde se lanz la excepcin. CDIGO:
try { } catch (Exception e) { // TODO: handle exception }

Conclusin: El manejo de excepciones es muy recomendable, sobre todo cuando se tiene clases cuyo mtodos acceden a base de datos depende de datos insertados por el usuario.

Conclusin de la Unidad III


ECLIPSE es un entorno de desarrollo poderoso, ideal para introducir al participante a la realizacin de interfaces grficos. Contiene una interfaz usable, y varios atajos y ayudas que le facilitara el proceso de desarrollo al programador.

Tecnologas de la Informacin y Comunicacin, rea SISTEMAS Enero-Abril 2013

UNIVERSIDAD TECNOLGICA DEL CENTRO DE VERACRUZ 27 DESARROLLO DE APLICACIONES I

UNIDAD IV. DESARROLLO DE APLICACIONES CON CONEXIN A BD LOCAL Objetivo:


El alumno desarrollar aplicaciones que permitan la conexin a BD, manipulacin y generacin de reportes utilizando asistentes para la administracin y uso de la informacin.

Introduccin:
En esta unidad se presentan los temas necesarios para la conexin a una base de datos local. El manejador de base de datos a utilizar es Postgresql y es necesario contar con un Drive para establecer la conexin.

4.1 Modos de Conexin a Base de Datos


Objetivo especfico: Identificar los tipos de controles utilizados para establecer una conexin con una BD local. Introduccin: En este tema el participante ser capaz de establecer una conexin a BD local utilizando las herramientas de conexin del lenguaje. Ejercicio 1: Realizar la clase de conexin a la base de datos. JDBC (Java DataBase Connectivity) es el estndar de Java para conectarse con bases de datos. Se estima que aproximadamente la mitad del software que se crea en la actualidad incorpora operaciones de lectura y escritura con bases de datos. JDBC est diseado para ser independiente de la plataforma e incluso de la base de datos sobra la que se desee actuar. Para conseguir esta independencia, JDBC ofrece un sistema estndar de interconexin con las bases de datos, muy similar al SQL (Structured Query Language). Los distintos vendedores de bases de datos crean los elementos necesarios que actan como puente entre JDBC y la propia base de datos. CDIGO:
public class csConexion { /* * Clase que permite conectarse a PostgreSQL */

Tecnologas de la Informacin y Comunicacin, rea SISTEMAS Enero-Abril 2013

UNIVERSIDAD TECNOLGICA DEL CENTRO DE VERACRUZ 28 DESARROLLO DE APLICACIONES I


private String usuario; private String contrasenia; private String baseDatos; private String driver; private Connection con; public csConexion(){ usuario="postgres"; contrasenia="utcvtic"; baseDatos="jdbc:postgresql://127.0.0.1:5433/TICSIDZ"; driver="org.postgresql.Driver"; } /* * El mtodo Conectar permite establecer la conexion a la base de datos * Contiene el bloque TRY-CATCH para controlar errores de ejecucin. */ public boolean conectar(){ try { Class.forName(driver); con= DriverManager.getConnection(baseDatos,usuario, contrasenia); System.out.println("Conectado"); return true; } catch (Exception e) { System.out.print(e.getMessage()); return false; } } /* * El mtodo desconectar permite cerrar la conexin */ public boolean desconectar(){ try { con.close(); System.out.println("Desconectado"); return true; } catch (Exception e) { e.printStackTrace(); return false; } } /* * El mtodo getConexion permite recuperar la conexion para poder * realizar los procesos de insertar, eliminar y actualizar. */ public Connection getConexion(){ return con; }

Tecnologas de la Informacin y Comunicacin, rea SISTEMAS Enero-Abril 2013

UNIVERSIDAD TECNOLGICA DEL CENTRO DE VERACRUZ 29 DESARROLLO DE APLICACIONES I

Ilustracin 12. Configuracin del DRIVE para la conexin.

Conclusin: ECLIPSE es el entorno de desarrollo que ms se adapta al curso, debido a que requiere menos recursos que NETBEANS y adems si no le instalas los plugins, el participante tendr que realizar todo en cdigo, el cual es el objetivo del curso.

4.2 MANEJO DE DATOS


Objetivo especfico: Identificar los controles del lenguaje que permitan la manipulacin de datos. Introduccin: Las operaciones CRUD (Create, Read, Update y Delete) a la base de datos, son indispensables para realizar una aplicacin empresarial.

Tecnologas de la Informacin y Comunicacin, rea SISTEMAS Enero-Abril 2013

UNIVERSIDAD TECNOLGICA DEL CENTRO DE VERACRUZ 30 DESARROLLO DE APLICACIONES I Ejercicio 1: Realizar una aplicacin que permita realizar las operaciones CRUD a la base de datos en el modelo MVC. INTERFAZ:

Ilustracin 13. Interfaz grfica para las operaciones CRUD

CDIGO INSERTAR: BOTN DE INSERTAR.


btnAgregar.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { //Recuperar el id del Area seleccionada if(txtAM.getText().trim().isEmpty()| txtAP.getText().trim().isEmpty()| txtMovil.getText().trim().isEmpty()| txtNombre.getText().trim().isEmpty()| txtTelCasa.getText().trim().isEmpty()| cbArea.getSelectedIndex()==-1 | cbTurno.getSelectedIndex()==-1){ lblMensaje.setText("Faltan datos por ingresar seleccionar."); } else{ csArea area = (csArea)cbArea.getSelectedItem(); csDoctor doctor = new csDoctor(0, area.getIdArea(), txtNombre.getText(), txtAP.getText(), txtAM.getText(),

Tecnologas de la Informacin y Comunicacin, rea SISTEMAS Enero-Abril 2013

UNIVERSIDAD TECNOLGICA DEL CENTRO DE VERACRUZ 31 DESARROLLO DE APLICACIONES I


cbTurno.getSelectedItem().toString(), txtTelCasa.getText(), txtMovil.getText(), true); if(cd.insertar(doctor)==false){ lblMensaje.setText("Error en el proceso de insercin. Intntelo ms tarde."); } else{ lblMensaje.setText("Datos insertados con xito"); limpiar(); } } } });

MTODO PARA INSERTAR A LA BASE DE DATOS.


public boolean insertar(csDoctor d){ try { if(con.conectar()==true){ String ope= "insert into doctor values(default,?,?,?,?,?,?,?,TRUE)"; PreparedStatement comando = con.getConexion().prepareStatement(ope); comando.setInt(1, d.getIdArea()); comando.setString(2, d.getNombre()); comando.setString(3, d.getAp()); comando.setString(4, d.getAm()); comando.setString(5, d.getTurno()); comando.setString(6, d.getTelCasa()); comando.setString(7, d.getTelMovil()); comando.executeUpdate(); return true; } else{ return false; } } catch (Exception e) { e.printStackTrace(); return false; } finally{ con.desconectar(); } }

CDIGO PARA ELIMINAR:


btnEliminar.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { if(txtID.getText().trim().isEmpty()){

Tecnologas de la Informacin y Comunicacin, rea SISTEMAS Enero-Abril 2013

UNIVERSIDAD TECNOLGICA DEL CENTRO DE VERACRUZ 32 DESARROLLO DE APLICACIONES I


lblMensaje.setText("Debe seleccionar un dato."); } else{ if(cd.eliminar(Integer.parseInt(txtID.getText()))==false){ lblMensaje.setText("Error en el proceso de eliminacin. Intntelo ms tarde."); } else{ lblMensaje.setText("Datos eliminados con xito"); limpiar(); tblDoctores.setModel(cd.obtenerDoctor()); } } } }); }

public boolean eliminar(int idDoctor){ try { if(con.conectar()==true){ String ope= "update doctor set activo=FALSE where iddoctor=?"; PreparedStatement comando = con.getConexion().prepareStatement(ope); comando.setInt(1, idDoctor); comando.executeUpdate(); return true; } else{ return false; } } catch (Exception e) { e.printStackTrace(); return false; } finally{ con.desconectar(); } }

CDIGO PARA LLENAR UN JTABLE:


public DefaultTableModel obtenerDoctor(){ DefaultTableModel modelo= new DefaultTableModel(); ResultSet rs; try{ if(con.conectar()==true){ PreparedStatement comando = con.getConexion().prepareStatement ("select * from vwDoctor"); rs= comando.executeQuery(); modelo.addColumn("ID"); modelo.addColumn("NOMBRE"); modelo.addColumn("APELLIDO PATERNO"); modelo.addColumn("APELLIDO MATERNO"); modelo.addColumn("AREA"); modelo.addColumn("TURNO"); modelo.addColumn("TELFONO CASA");

Tecnologas de la Informacin y Comunicacin, rea SISTEMAS Enero-Abril 2013

UNIVERSIDAD TECNOLGICA DEL CENTRO DE VERACRUZ 33 DESARROLLO DE APLICACIONES I


modelo.addColumn("TELFONO MOVIL"); Object[] datos = new Object[8]; while(rs.next()){ datos[0]=rs.getInt("idDoctor"); datos[1]=rs.getString("nombre"); datos[2]=rs.getString("apellidoPaterno"); datos[3]=rs.getString("apellidoMaterno"); datos[4]=rs.getString("nombrearea"); datos[5]=rs.getString("turno"); datos[6]=rs.getString("telefonocasa"); datos[7]=rs.getString("telefonomovil"); modelo.addRow(datos); } rs.close(); } } catch(Exception ex){ ex.printStackTrace(); } finally{ con.desconectar(); } return modelo; }

Conclusin: El desarrollo de una aplicacin es un proceso extenuante.

Conclusin de la Unidad IV
ECLIPSE es un entorno de desarrollo poderoso, ideal para introducir al participante a la realizacin de interfaces grficos. Contiene una interfaz usable, y varios atajos y ayudas que le facilitara el proceso de desarrollo al programador.

Tecnologas de la Informacin y Comunicacin, rea SISTEMAS Enero-Abril 2013

UNIVERSIDAD TECNOLGICA DEL CENTRO DE VERACRUZ 34 DESARROLLO DE APLICACIONES I

Tecnologas de la Informacin y Comunicacin, rea SISTEMAS Enero-Abril 2013