Programacion 2 Java

download Programacion 2 Java

of 17

Transcript of Programacion 2 Java

1.1 Programacin orientada a eventos La interaccin del usuario con un programa GUI se efecta a travs de eventos. Cada evento tiene una fuente, la cual es la componente que lo produce. Slo ciertas clases de objetos pueden atrapar eventos: objetos que tienen implementado el acceso a los mtodos de ciertas clases especiales que escuchan eventos (listener). Por ejemplo, cuando un usuario oprime un botn en una GUI, el evento producido por el botn puede ser atrapado (escuchado) por cualquier objeto cuya clase tenga implementado acceso a mtodos ActionListener. 1.1.1 Objetos La unidad fundamental de una aplicacin es el formulario un formulario es realmente es una ventana sobre la que se dibujan otros objetos llamados controles, tales como etiquetas, cajas de textos, marcos, casillas de verificacin, botones de opcin, botones de pulsacin, etc.., con fines de aceptar, ejecutar o visualizar datos. En una aplicacin se pueden utilizar tantos formularios como se necesiten, y dependiendo de la utilidad que se les d, estos sern de diferentes tipos. As se pueden crear un formulario para que contenga un grafico, para visualizar informacin o bien para aceptar datos. 1.1.2 Eventos Es una accin como hacer clic, doble clic, presionar una tecla, mover el puntero del mouse, etc. Que el usuario debe realizar para que un objeto ejecute una accin determinada cada control responde a diferentes eventos, algunos de ellos tienen caractersticas comunes. Las acciones del usuario sobre el programa se llaman eventos. Son eventos tpicos el clic sobre un botn, el hacer doble clic sobre el nombre de un fichero para abrirlo, el arrastrar un icono, el pulsar una tecla o combinacin de teclas, el elegir una opcin de un men, el escribir en una caja de texto, o simplemente mover el ratn. Cada vez que se produce un evento sobre un determinado tipo de control rranca una determinada funcin o procedimiento que realiza la accin programada por el usuario para ese evento concreto. 1.1.3 Mtodos Los mtodos son funciones que tambin son llamadas desde programa, pero a diferencia de los procedimientos no son programadas por el usuario, sino que vienen ya pre-programadas con el lenguaje. Los mtodos realizan tareas tpicas, previsibles y comunes para todas las aplicaciones. De ah que vengan con el lenguaje y que se libere al usuario de la tarea de programarlos. Cada tipo de objeto o de control tiene sus propios mtodos. En general solo pueden ser ejecutados en tiempos de ejecucin no en tiempo de diseo.

Los mtodos son invocados dando nombres al objeto y cuyo mtodo se est llamando, listando el operador punto (.), y despus listando el nombre del mtodo. Como cualquier rutina los mtodos pueden incorporar argumentos. 1.1.4 Propiedades Las propiedades son las caracteristicas que posee un objeto o un formulario por ejemplo el color de fondo, el tamao, etc. Las propiedades del objeto se muestran por categoria o en orden alfabetico Dependiendo de la propiedad, se la puede asignar en tiempo de diseo usando la ventana Propiedades y/o en tiempo de ejecucin al programar. A continuacin se describen dos ejemplos de las propiedades del formulario en java: Title: Es el texto que aparecer en la barra de Ttulo cada vez que aparezca en pantalla este formulario. No tiene otra funcin dentro del programa. El programa no accede a este formulario por el ttulo, sino por el nombre. Puede cambiarse en tiempo de ejecucin. Rezisable: El formulario tendr borde grueso, y no se podr redimensionar durante la ejecucin. 1.2 Entorno integrado de desarrollo Un IDE es un entorno de programacin que ha sido empaquetado como un programa de aplicacin, es decir, consiste en un editor de cdigo, un compilador, un depurador y un constructor de interfaz grfica (GUI). Los IDEs pueden ser aplicaciones por s solas o pueden ser parte de aplicaciones existentes. Adems, un IDE suele proporcionar otras herramientas software muy tiles para los programadores, tales como: depuradores de cdigo, ayuda en lnea de uso del lenguaje, etc. Todo ello, con el fin de ayudar y facilitar el trabajo al programador. 1.3 Ventanas (Proyecto, Propiedades, Ayuda) Ventana de proyecto En esta ventana estn especificados los ficheros (Clases, Libreria , etc.) que forman la aplicacin y, dnde se seleccionarn para crearlos o modificarlos. Esto se debe a que hay ficheros que pueden utilizarse en ms de una aplicacin.

Propiedades Cada tipo de objeto tiene predefinido un conjunto de propiedades, como titulo, nombre, color, etc. Las propiedades de un objeto representan todos los datos que por definicin estn asociados con este objeto. Para cambiar las propiedades de un objeto tenemos que utilizar la ventana de propiedades que se muestra en la figura siguiente:

1.4 Tipos de proyectos Hay dos tipos de proyectos JAVA: applets y aplicaciones. Los applets de JAVA son elementos que tienen que ser referenciados en un documento HTML, mientras hace referencia a la imagen de grficos. A diferencia de los applets, las aplicaciones JAVA proveen un cdigo adicional que le permite ejecutarlos en un tiempo de corrida standar. Este ambiente provee el mismo tipo del contexto operativo para una aplicacin JAVA de la misma manera que provee un browser para un applet. Interesantemente las tpicas aplicaciones pueden ser ejecutadas como applets, en vista que una aplicacin es generalmente un applet que contiene algn cdigo adicional para la operacin. 1.5 Comentarios Un comentario es una construccin del lenguaje de programacin destinada a integrar informacin adicional en el cdigo fuente de un programa. En la mayora de los casos, cuando el cdigo fuente es procesado por un compilador o intrprete, los comentarios no se toman en cuenta. Los comentarios tienen una amplia gama de posibles usos: desde la mejora del cdigo fuente con descripciones bsicas hasta la generacin de documentacin externa. Tambin se utilizan para la integracin con sistemas de control de versiones y otros tipos de herramientas de programacin externas. En Java se pueden utilizar tres tipos de comentarios:

// Comentario de una sola lnea; acaba cuando lo hace la lnea /* Comentario de Ms De Una Lnea */ /**Comentario de ms de una lnea para procesamiento de Javadoc*/ 1.6 Constantes En Java, se utiliza la palabra clave final para indicar que una variable debe comportarse como si fuese constante, significando con esto que no se permite su modificacin una vez que haya sido declarada e inicializada. Como es una constante, se le ha de proporcionar un valor en el momento en que se declare, por ejemplo: class Elipse { final float PI = 3.14159; ... } 1.7 Tipos de datos En los lenguajes de programacin un tipo de dato es un atributo de una parte de los datos que indica al ordenador (y/o al programador) algo sobre la clase de datos sobre los que se va a procesar. Esto incluye imponer restricciones en los datos, como qu valores pueden tomar y qu operaciones se pueden realizar. Tipos de datos comunes son: enteros, nmeros de coma flotante (decimales), cadenas alfanumricas, fechas, horas.

1.8 Variables

Se utilizan para representar un dato de tipo entero, real (flotante), o una constante de carcter. Una variable es un rea en memoria que tiene un nombre y un Tipo asociado. El Tipo es o bien un Tipo primitivo o una Referencia. Todas las variables han de declararse antes de usarlas, la declaracin consiste en una sentencia en la que figura el tipo de dato y el nombre que asignamos a la variable. Una vez declarada se le podr asignar valores. Es obligatorio declarar las variables antes de usarlas. Para declararlas se indica su nombre y su Tipo, de la siguiente forma:

tipo_variable nombre; 1.9 Operadores Un operador es un smbolo especial que indica al compilador que debe efectuar una operacin matemtica o lgica. Los operadores aritmticos son los mismos que en C +, -, *, /, %, ++, --, +=, -=, *=, /=, %= Los operadores relacionales son los mismos que en C =, ==,!= Los operadores lgicos son los mismos que en C !, &&, || 1.11 Matrices Son estructuras de datos que agrupan muchos datos del mismo tipo, en donde cada elemento se puede trabajar individualmente y se puede referenciar con un mismo nombre. Se usan para representar datos que pueden verse como una tabla con filas y columnas. Declaracin: Tipo_dato nombre_matriz [ndice fila] [ndice columna] Ejemplo:

1.12 procedimientos y funciones Los subprogramas son rutinas, procedimientos o conjuntos de instrucciones que realizan una labor especfica. Los subprogramas o subrutinas nacieron de la necesidad de no repetir innecesariamente un trabajo ya hecho. Pueden invocarse desde el cuerpo del programa principal cuantas veces se desee. Constituyen el ncleo de lo que se denomina programacin estructurada, y permiten la descomposicin de un problema complejo en sub problemas ms sencillos abordables de forma independiente. Estructura de un subprograma La estructura de un subprograma tendr una cabecera (con el nombre y los parmetros) y un cuerpo (con la declaracin de los parmetros de la funcin y las instrucciones). La estructura de un subprograma se muestra a continuacin: static Tipo_de_retorno nombreFuncion (listadeParmetros) { Cuerpo de la funcin return expresin } Ejemplo:

1.14 Controles bsicos y sus propiedades Los controles, tales como cajas de textos, botones, etiquetas, marcos, listas y temporizadores, son objetos grficos que permiten introducir o extraer datos. El formulario mas los controles forman la interfaz o medio de comunicacin. tanto los formularios como cada uno de los controles tienen predefinidos con conjuntos de propiedades o datos y un conjunto de procedimientos para actuar sobre sus datos. Para aadir un control a un formulario, utilizaremos la caja de herramientas.

Propiedades Cada tipo de objeto tiene predefinido un conjunto de propiedades, como titulo, nombre, color, etc. Las propiedades de un objeto representan todos los datos que por definicin estn asociados con este objeto. Para cambiar las propiedades de un objeto tenemos que utilizar la ventana de propiedades que se muestra en la figura siguiente:

2.1 Controles estandar Cuando una aplicacin Windows en un instante determinado de su ejecucin necesita aceptar nuevos datos o bien visualizarlos para poder continuar, debemos utilizar un nuevo formulario con los controles que permitan esas operaciones. iene una serie de controles para ser utilizados como mecanismos de Entrada/Salida (E/S). Algunos, como las cajas de texto o los botones de pulsacin. Otros, como las casillas de verificacin, botones de opcin, listas, listas desplegables y barras de desplazamiento. 2.2 Eventos del formulario La lista de procedimientos de la ventana de cdigo correspondiente a un formulario, podemos observar los eventos que este reconoce y a los cuales este puede responder. Cada evento tiene relacin con una determinada accin que puede ocurrir en o con el formulario (se carga el formulario, se pulso un botn del ratn, se repinta el formulario, etc...), pero solo se desencadenara una respuesta para aquellos eventos para los cuales hayamos escrito cdigo.

De los muchos eventos que pueden ocurrir para un formulario o para un control merecen destacar los siguientes: Evento Mouseclicked KeyPressed MouseReleased MouseTyped 2.3 Cajas de dialogo En nuestras aplicaciones Java Swing es bastante habitual que tengamos que pedir al usuario la confirmacin de una accin (por ejemplo, salir de la aplicacin o borrar unos datos), pedirle algn dato sencillo, darle a elegir entre varias acciones o simplemente mostrarle un aviso. A veces es necesario para estas acciones abrir una ventana secundaria donde el usuario debe realizar la accin que sea y cerrarla. Por ejemplo, podemos mostrarle una ventana preguntando algo como "Ests seguro que quieres borrar todos esos datos?" y que tenga un par de botones de "S, estoy seguro" y "No, no creo". La Swing proporciona bastante soporte para cuadros de dilogo con la clase JOptionPane. Mediante el uso de mtodos de esta clase, puede visualizar toda clase de cuadros de dilogo (cuadros de dilogo de mensaje, cuadros de dilogo de confirmacin, cuadros de dilogo de entrada y muchos ms). 2.3.2 Predefinidas La forma mas fcil de solicitar un dato del usuario o de visualizar un resultado o un mensaje, es utilizando las cajas de dialogo que java provee. Ocurre Cuando El usuario pulsa y suelta un botn del raton. El usuario pulsa una tecla; este evento ocurre despus del evento KeyTyped y KeyReleased. El usuario suelta el botn del ratn. El usuario pulsa un botn del ratn.

La clase JoptionPane tiene tres metodos basicos: showMessageDialog: muestra una ventana de aviso al usuario. Su sintaxis es: JOptionPane.showMessageDialog(rootPane,mensaje,titulo,iconos) Ejemplo: JOptionPane.showMessageDialog(rootPane,"Mensaje a sacar","Ttulo",JOptionPane.INFORMATION_MESSAGE);

En este caso en icono hemos usado JOptionPane.INFORMATION_MESSAGE, si usasemos por ejemplo: JOptionPane.ERROR_MESSAGE, obtendramos esto: JOptionPane.showMessageDialog(rootPane,"Mensaje a sacar","Ttulo",JOptionPane.INFORMATION_MESSAGE);

showInputDialog: la ventana mostrar una caja de texto para que el usuario escriba la opcin que desee (un texto libre). Sintaxis: Variable=JOptionPane. showInputDialog (rootPane,mensaje,titulo,iconos) Ejemplo: String m=JOptionPane. showInputDialog (rootPane,"Mensaje a sacar","Ttulo",JOptionPane.INFORMATION_MESSAGE);

showConfirmDialog:Este mtodo muestra una ventana pidiendo una confirmacin al usuario Sintaxis: JOptionPane.showConfirmDialog (rootPane,mensaje,titulo,iconos) Ejemplo: JOptionPane.showConfirmDialog (rootPane,"Mensaje a sacar","Ttulo",JOptionPane.INFORMATION_MESSAGE);

Cada botn devuelve un valor entero segn sea pulsado. Ejemplo:

3.1 Acceso secuencial el acceso secuencial significa que un grupo de elementos es accedido en un predeterminado orden secuencial(un registro a la vez). El acceso secuencial es a veces la nica forma de acceder a los datos, por ejemplo en una cinta de casete. Tambin puede ser el mtodo de acceso elegido, para simplemente procesar una secuencia de datos en orden. Archivos secuenciales

Es la forma bsica de organizar un conjunto de registros, que forman un archivo, utilizando una organizacin secuencial. En un archivo organizado secuencialmente, lo registros quedan grabados consecutivamente cuando el archivo se utiliza como entrada. Ejemplo: escritura de los archivos secuenciales.

lectura de los archivos secuenciales.

3.2 Acceso directo Permite procesar o acceder a un elemento determinado y referencia directamente por su posicin en el soporte de almacenamiento.

Archivos directos cada registro puede leerse / escribirse de forma directa solo con expresar su direccin en el fichero por l numero relativo del registro o por transformaciones de la clave de registro en l numero relativo del registro a acceder. Ejemplo: escritura de los archivos directos.

lectura de los archivos directos.

3.3 Manejo de archivos un archivo es un medio para poder leer datos de entrada para su programa o donde poder guardar los resultados de su ejecucin. Todo lenguaje de programacin debe disponer de algn mecanismo para que el programador pueda manipular archivos desde un programa. funciones bsicas para poder acceder a un archivo:y

Lectura (consulta).- Esta operacin consiste el leer la informacin contenida en fichero sin alterarla.

y y

y

Escritura (modificacin).- Consiste en actualizar el contenido del fichero bien aadindole nuevos datos o borrando parte de los que contena. Apertura.- Antes de acceder a un fichero, tanto para consultar como para actualizar su informacin, es necesario abrirlo. Esta operacin se debe realizar previamente a las operaciones de lectura o escritura. Cierre.- Cuando se ha terminado de consultar o modificar un fichero, por lo general, del mismo modo que se tuvo que abrir para realizar alguna operacin de lectura/escritura sobre l, ste deber ser cerrado.

3.4 Controlar errores en tiempo de ejecucin. En todo programa existen errores inesperados en tiempo de ejecucin . Unos de estos errores ocurren por ejemplo, al intentar acceder a un elemento del arreglo que est fuera del lmite de nuestro arreglo, o cuando intentamos acceder a un archivo inexistente, entre otros. Normalmente estos errores interrumpen el flujo de ejecucin de nuestros programas, hasta el extremo de provocar la terminacin del programa en forma inmediata. Java hace uso de las excepciones para poder controlar los errores en tiempo de ejecucin. Manejo de excepciones: try - catch - finally Cuando el programador va a ejecutar un trozo de cdigo que pueda provocar una excepcin (por ejemplo, una lectura en un fichero), debe incluir este fragmento de cdigo dentro de un bloque try: try { // Cdigo posiblemente problemtico } Pero lo importante es cmo controlar qu hacer con la posible excepcin que se cree. Para ello se utilizan las clausulas catch, en las que se especifica que accin realizar: try { // Cdigo posiblemente problemtico } catch( tipo_de_excepcion e) { // Cdigo para solucionar la excepcin e } Finally Este cdigo se ejecutar tanto si se ha tratado una excepcin (catch) como sino que ser ejecutada tras el bloque try o catch: try { } catch( Exception e ) {

} finally { // Se ejecutara tras try o catch } 4.1 Introduccin JDBC es un API de Java para acceder a sistemas de bases de datos, y prcticamente a cualquier tipo de dato tabular. El API JDBC consiste de un conjunto de clases e interfaces que permiten a cualquier programa Java acceder a sistemas de bases de datos de forma homognea. En otras palabras, con el API JDBC no es necesario escribir un programa para accesar a Sybase, otro programa para accesar a Oracle, y otro programa para accesar a MySQL; con esta API, se puede crear un slo programa en Java que sea capaz de enviar Sentencias SQL a la base de datos apropiada. Al igual que ODBC, la aplicacin de Java debe tener acceso a un controlador (driver) JDBC adecuado. Este controlador es el que implementa la funcionalidad de todas las clases de acceso a datos y proporciona la comunicacin entre el API JDBC y la base de datos real. De manera muy simple, al usar JDBC se pueden hacer tres cosas:y y y

Establecer una conexin a una fuente de datos. Mandar consultas y sentencias a la fuente de datos. Procesar los resultados.

4.2 Herramientas de acceso a datos Import java.sql.*; En este paquete se definen los objetos que proporcionan toda la funcionalidad que se requiere para el acceso a bases de datos. Class.forName(); Con esta instruccin cargamos el driver de conexin a la base de datos DriverManager.getConnection; Luego de cargar el Driver, es necesario crear la conexin a la base de datos. Para ello usamos el mtodo getConnection de la clase DriverManager (que implementa la clase Driver). A dicho mtodo le pasamos como parmetro una URL de conexin a la base de datos, que se compone, por lo general, de tres partes separados por :, jdbc:nombre_dbms:datos_de_conexion. Aunque esto depende del tipo de DMBS y conector que usemos. Connection usaremos para crear y ejecutar sentencias SQL, sobre la base de datos. conexion.createStatement(); este mtodo crea/decuelve un objeto Statement, con el cual podremos ejecutar sentencias en la base de datos. instruccion.executeQuery(); este mtodo sirve para ejecutar consultas sobre la base de datos executeUpdate(); este mtodo sirvepara insercin y modificacin de datos

ResultSet contendr los datos de la consulta. while(tabla.next()) esto nos permitir iterar indefinidamente, mientras en el objeto ResultSet hayan ms registros. y Posteriormente, dentro del while, podemos obtener los datos de la fila actual con los mtodos getInt(int) y getString(int) de ResultSet. A dichos mtodos le pasamos como parametro el indice de la columna que queremos obtener.

Las excepciones que manejamos son bsicamente: ClassNotFoundException, que se lanzar por lo general cuando el programa no encuentre el Driver. SQLException, que se lanzar cuando hayan errores a nivel de SQL (errores al insertar datos, errores de sintaxis en las consultas, etc.).

Ejemplo: