You are on page 1of 14

Universidad los Ángeles de Chimbote Facultad de Ingeniería Escuela Profesional de Ingeniería de Sistemas

Asignatura: Tecnología Cliente Servidor

OBJETO DE CONTROL JTABLE EN MANTENIMIENTO DE DATOS

Objeto de control JTable La presentación de datos tabulados es una de las tareas más comunes que se presentan al momento de crear interfaces gráficas; desde la simple tabla que permite únicamente mostrar el resultado de una consulta, hasta las que permiten editar directamente el contenido de cada celda, ordenar las columnas, personalizar su apariencia, etc. Todas las tareas antes descritas, y muchas otras, son posibles de realizar utilizando la clase JTable; por supuesto, mientras más complejo sea el requerimiento a cubrir, se requerirá en igual medida utilizar más métodos o recursos de la clase. El objeto Jtable como los modelos de la tabla representados a través de la interfaz
1

devuelve el número de filas en la tabla. nombre varchar(40) not null. aunque existe un modelo de tabla predeterminado denominado la clase DefaiultTableModel.swing. pertenecen al paquete javax. En esta sesión haremos uso del reciente explicado objeto JTable para visualizar los datos contenidos en una tabla. Vamos a crear la tabla de estadio en la base de datos campeonatouefa. A continuación vamos a seguir usando la base de datos de campeonatouefa ya utilizada desde la tercera sesión de aprendizaje: 1. que permite vincular un modelo al obejto Jtable y getRowCount(). siendo los métodos más usados: setModel(). eliminar datos correspondiente a un registro de datos como también modificar datos ya almacenados. getValueAt() devuelve el dato ubicado en la posición fila y columna y removeRow() elimina una fila del modelo según posición indicada. añade una fila al final del modelo. El TableModel se implementa a partir de la clase AbstractTableModel. El siguiente gráfico intenta mostrar como cada componente JTable obtiene siempre sus datos desde un modelo de tabla.Universidad los Ángeles de Chimbote Facultad de Ingeniería Escuela Profesional de Ingeniería de Sistemas Asignatura: Tecnología Cliente Servidor TableModel. 2 . Para la clase DefaultTableModel los métodos más utilizados son: AddRow(). sede varchar(32) not null. La instrucción para la creación de dicha tabla es: create table estadio(codestadio int not null primary key auto_increment. Pero para eliminar datos o modificar datos se supone que los datos ya existen en la tabla de datos entonces se procedera hacer búsquedas sencillas para lograr su ubicación y proceder a su eliminación o modificación de datos. Las propiedad más usada es model que permite definir el numero de filas y columnas. Mantenimiento de Datos usando JTable como vista de datos Un mantenimiento de datos consiste en grabar datos en una tabla. getRowCount() devuelve el número de filas de la tabla de datos.

Cabe señalar que los campos referidos a la sede y al pais pudieron haber sidos tablas que se relacionen con la tabla de estadio. 3 .Universidad los Ángeles de Chimbote Facultad de Ingeniería Escuela Profesional de Ingeniería de Sistemas Asignatura: Tecnología Cliente Servidor pais varchar(20) not null. Logremos establecer la conexión con la base de datos de campeonatouefa en el entorno de NetBeans. 2. 3. Lo importante es como hacer mantenimiento de datos a una tabla. estado bit). la normalización que se pueda hacer a las tablas que irán creando en la base de datos campeonatouefa queda para las modificaciones que crean convenientes. necesarios para la conexión con la base de datos y el enlace con la tabla de estadio. Volvamos a la pestaña Proyects donde vamos a crear métodos en la clase Main.

Universidad los Ángeles de Chimbote Facultad de Ingeniería Escuela Profesional de Ingeniería de Sistemas Asignatura: Tecnología Cliente Servidor Agregamos los paquetes: java. Este último paquete es necesario para el uso de los objetos del paquete swing principalmente el JOptionPane para la visualización de posibles mensajes de error. login. st del tipo Statement y rs del tipo ResultSet ya descritos y esplicados en las sesiones anteriores. Este método nos ayudará establecer la conexión con la base de datos campeonatouefa. Estando dentro de la clase Main establecemos las variables conn del tipo Connection. Seguimos a continuación agregando más métodos a la clase Main.sql y javax. También definimos las varibales bd.io.swing. 4 . A continuación creamos el primer método estático denominado Enlace que devolverá un objeto del tipo Connection. password y url. java.

La tabla de Estadio posee realmente cinco campos. Básicamente permite crear el objeto del tipo Statement a partir del objeto connection a través del método createStatement(). Si observamos en cada uno de los métodos se esta usando throws SQLException. esto quiere decir que los métodos usan excepciones (intercepcion de errores) para los erroes que se pueden presentar durante la conexión y acceso de datos. 4. Vamos a diseñar el siguiente formulario al cual lo llamaremos frmMantEstadio dando los nombres correspondientes a cada uno de los objetos de control dibujados. Finalmente se necesita tener un método denominado EnlEst que permitirá enlazarnos con la tabla de Estadio aplicando el método executeQuery() estableciendo a través del comando select a todos los campos de la tabla de Estadio solo aquellos cuyo estado es igual a 1.Universidad los Ángeles de Chimbote Facultad de Ingeniería Escuela Profesional de Ingeniería de Sistemas Asignatura: Tecnología Cliente Servidor Se crea el método sta que devolverá un obejto del tipo Statement. los estadios que están habilitados para su uso. pero el último es para indicar si el estadio esta habilitado para su uso o no lo está. es decir. estom quiere decir si hacemos una elimnación se procederá a cambiar el estado a 0 (elimación lógica) y cada vez que grabemos los datos de un nuevo estadio se habilitará. 5 .

javax.sql (para acceder a base de datos).Universidad los Ángeles de Chimbote Facultad de Ingeniería Escuela Profesional de Ingeniería de Sistemas Asignatura: Tecnología Cliente Servidor 5. 6 . colocando las siguientes líneas de código.swing (para el uso de los controles visuales).table para el manejo de las clases del paquete table y el paquete campeonato_uefa que contiene a la clase Main con lo cual podremos hacer uso de todos los métodos que tenga.swing. javax. Vamos a proceder a programar. Importamos los paquetes java.

Los métodos setSize y setLocation es para establecer el tamaño y la localización del formulario en la pantalla del computador. Como se está utilizando un objeto JTable se define la variable dtm del tipo DefaulTableModel. se establece un vector o arreglo del tipo String donde se coloca los títulos que serán de cada una de las columnas del objeto JTable. estableciendo como variables o atribnbutos conn.Universidad los Ángeles de Chimbote Facultad de Ingeniería Escuela Profesional de Ingeniería de Sistemas Asignatura: Tecnología Cliente Servidor Iniciamos la construcción de la clase frmMantEstadio. st y rs. 7 . En el método constructor hacemos uso del método activabotones (programación que veremos luego). A partir del método setColumnIdentifiers indicamos los datos del vector titulos al objeto dtm y con el método setModel vinculamos el objeto dtm al objeto JTable denominado tablaEstadio.

En el botón de comando btnBuscar si está habilitado después de dar clic en dicho botón. Se define una variable boleana encuentra para manejar la situaciçon de éxito o fracaso de la búsqueda. es un método de la interfaz ResulSet. esto dependerá en que circuntancias nos encontremos en la ejecución de la aplicación de mantenimiento de datos de Estadios. En la variable b se coloca el valor ingresado en el cuadro de texto txtCodEst. se procederá a la conexión con la base de datos. En la sentencia while utizamos el método next que pertenece al obejto rs.Universidad los Ángeles de Chimbote Facultad de Ingeniería Escuela Profesional de Ingeniería de Sistemas Asignatura: Tecnología Cliente Servidor El método activaBotones es para habilitar o inhabilitar el uso de los botones de comando. El método next devuelve verdadero si 8 . luego en la variable rs se almacenará los datos provenientes de la tabla de Estadio. Con el método limpiarDatos se limpia los cuadros de textos. es decir.

Se define un vector denominado datos de tamaño 5 elementos del tipo String que servirá colocar los datos de una fila para luego agregarlo al objeto dtm que está vinculado al objeto JTable llamado tablaEstadio. Pero antes de agregarlo debemos asegurarnos que no exista fila alguna de datos en el modelo dtm y por ende en la tablaEstadio. El botón de comando btnVer (Ver Lista de Estadios). El bucle de la sentencia while permite colocar en cada elemento del arreglo los datos extraidos de una fila que almacena el objeto rs. Posteriormente se establece la conexión con la base de datos y en la variable rs se almacena los datos provenientes de la tabla de Estadio. su condición lógica se hará verdadero cuando encuentre el código de estadio buscado. consiste en aumentar el tamaño del formulario para visualizar el objeto JTable. esto es posible ya que el método getString.Universidad los Ángeles de Chimbote Facultad de Ingeniería Escuela Profesional de Ingeniería de Sistemas Asignatura: Tecnología Cliente Servidor encuentra la primera fila de información. es entonces que la variable encuentra recién se hace verdadero. La sentencia if que se encuentra dentro del while. haciendo que los cuadros de textos se muestren los demás datos. las siguientes veces se desplaza en cada registro almacenado en el rs. 9 .

Se inhabilita el cuadro de texto txtCodEst y se envía el cursor al cuadro de texto txtNom. En el botón de comando btnGrabar se incia visualizando un mensaje de confirmación para proceder a grabar.Universidad los Ángeles de Chimbote Facultad de Ingeniería Escuela Profesional de Ingeniería de Sistemas Asignatura: Tecnología Cliente Servidor indicando la posición de la columna. esto se logra usando el método 10 . limpiamos los cuadros de textos con el método limpiarObjetos. Con el método addRow logramos crear una fila con los datos del vector datos en el objeto dtm y como está vinculado a la tablaEstadio entonces se podrá ver los registros agregados. Se inhabilta los botones de comando a excepción de grabar ya que estamos en el momento de ingresar nuevos datos y proceder a almacenar. Para el botón de comando btnNuevo. podemos obtener el dato de la fila actual.

Posteriormente se procede a cerrar la conexión con el método close del objeto connection conn. sede y pais. luego ejecutamos la eliminación lógica haciendo que el campo estado sea igual a cero y se cierra la conexión con la base de datos.Universidad los Ángeles de Chimbote Facultad de Ingeniería Escuela Profesional de Ingeniería de Sistemas Asignatura: Tecnología Cliente Servidor showConfirmDialog de la clase JoptionPane. también se procede a través de un mensaje confirmar si procede la eliminación de los datos del Estadio. Si la respuesta es afirmativa se procede a conextarse a la base de datos y en la variable de memoria cod se almacenada el código del estadio ingresado a travñes del cuadro de texto txtCodEst. Se construye la instrucción usando el comando UPDATE. En el botón de comando btnEliminar. Si la respuesta es Sí entonces la sentencia if su condición lógica se hará verdadera y por lo tanto establecemos conexión con la base de datos campeonatouefa. pasamos los datos ingresados a variables como nom. 11 . En la variable comando establecemos la instrucción con el comando INSERT para luego usar el método executeUpdate quien procederá a grabar los datos.

12 . al igual que de grabar o eliminar se procede a confirmar a través de un mensaje si se procede a la modificación de datos. luego de dar respuesta afirmativa se procede a limpiar los cuadros de textos. En el botón de comando Cancelar.Universidad los Ángeles de Chimbote Facultad de Ingeniería Escuela Profesional de Ingeniería de Sistemas Asignatura: Tecnología Cliente Servidor En el botón de comando btnModificar. Usamos el comando UPDATE para actualizar los datos. Se procede a ejecutar el comando con el método executeUpdate y se cierra la conexión con el método close. Una vez salvados los datos ingresados en los cuadros de textos en variables de memoria se prepara la instrucción en la variable de memoria comando. habilta el cuadro de texto txtCodEst para su uso y se vuelve a su estado inicial la hablitación de los botones de comando.

con el método dispose se cierra la ventana o formulario. seleccionado Run File. Procedemos a ejecutar el formulario.Universidad los Ángeles de Chimbote Facultad de Ingeniería Escuela Profesional de Ingeniería de Sistemas Asignatura: Tecnología Cliente Servidor El botón de comando btnCerrar. Al dar clic en el botón de comando Nuevo podemos proceder a ingresar datos. Una vez ingresado damos clic en el botón de comando Grabar. 7. Observamos el formulario ejecutado. 8. 6. 13 .

Luego de grabar. al dar clic en el botón de comando Ver Lista de Estadios. 14 . el formulario se mostrará de la siguiente forma.Universidad los Ángeles de Chimbote Facultad de Ingeniería Escuela Profesional de Ingeniería de Sistemas Asignatura: Tecnología Cliente Servidor 9.