Acceso a MySQLFecha: 21 de MarzoAcceso a Bases de Datos. MisTareas¿Qué les ha parecido hasta ahora lo que han aprendido en...
En el cuadro de texto de Password, debes teclear root. Y das enterSelecciona la opción de Catalogs (Catálogos) y ubica don...
Le damos un nombre a la base de datos (Schema): teclearemos bdtareas                                                      ...
Selecciona la base de datos, el icono amarillo que acabas de crear con el nombre de bdtareas.Y te aparecerá una pantalla c...
Damos de alta la tabla tblTareas, con los campos: idtbltareas (int) autoincremental, materiacomo texto de 40 de longitud, ...
Cerramos el MySQLAdministrator.Comenzamos con      el   proyecto.   Abriremos   un   nuevo   proyecto   y   lo   llamaremo...
Nota: Verifica que la casilla (checkbox) de donde dice Crear clase principal(Create Main Class),no esté activada, para no ...
Se descarga un archivo .zip, el cual debes descomprimirlo dentro de la carpeta de tu proyectode NetBeans. Se descomprime u...
Clases para Operaciones en la Base de DatosUna de las principales características que los diversos lenguajes de programaci...
En la línea 8, donde se declara la variable servidor, se determina a qué servidor de MySQL seva a conectar, en este caso e...
password. Se valida si con es diferente de null, para verificar la conexión satisfactoria. Semanipulan dos tipos de excepc...
El método close del objeto con para cerrar la conexión a la base de datos, no se recomiendaque la base de datos esté por m...
Dentro de este método, resaltaremos dos sentencias.    El PreparedStatement de la clase java.sql, prepara al editor de lí...
OperacionesDML.JavaDML son las siglas de Lenguaje de Manipulación de Datos (siglas en inglés). En este tipo delenguaje, en...
En la siguiente imagen se declara la instancia objConexion de tipo clase EstablecerConexion,para poder las operaciones de ...
El siguiente método, se utiliza para leer o recuperar datos desde la base de datos a laaplicación. Se realiza a través de ...
El métodoLlenarTabla, este método nos permite desplegar el resultset generado por laconsulta realizada en el método anteri...
VentanasMenu.JavaEstá clase es un JFrame. Ya lo hemos visto en las sesiones pasadas. Así que agregamos unJFrame que se lla...
Quizá te marque errores en Registro y en Consultar, es porque todavía no hemos generado losJFrame de cada uno de ellos.Ant...
Ya cuando hayan seleccionado los dos componentes, le dan Next (Siguiente) y les aparecerá lasiguiente pantalla. En ella se...
Ya que le diste clic en Finish, dentro de tu proyecto, en la ventana de Palette (Paleta) decomponentes, verás los dos comp...
Registro.JavaAgregamos un JFrame llamado Registro, dentro del paquete de Ventanas.Ya teniendo el JCalendar y el JDateChoos...
Damos clic derecho en el botón de Aceptar, y seleccionamos las siguientes opciones: Events->Action->ActionPerformed. Y tec...
Una vez teniendo la interfaz, damos clic en Source y declararemos 5 atributos que refieren acada uno de los valores que va...
En este código, lo único que se hace es declaran una instancia de Modificar, y le modificamoslos atributos declarados en e...
Una vez teniendo la interfaz, damos clic en Source y declararemos 5 atributos que refieren acada uno de los valores que va...
EjecuciónPrincipalAgregar Tarea                27
Ver Tareas IngresadasSeleccionas un reglón de la tabla y das clic en Modificar                                            ...
Modificar Tareas:Mostrar Tareas:ConclusiónYa conocimos un poco de cómo darle un poco de diseño a las pantallas en la práct...
Esta es una creación del club de programación, a veces programar puede ser divertido.                                     ...
Upcoming SlideShare
Loading in …5
×

Practica 4

1,266 views

Published on

Manejo de base de datos de Java con Mysql utilizando JDBC

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,266
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
55
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Practica 4

  1. 1. Acceso a MySQLFecha: 21 de MarzoAcceso a Bases de Datos. MisTareas¿Qué les ha parecido hasta ahora lo que han aprendido enlas prácticas anteriores? ¿Programar no es fácil, pero si esentretenido? …. Ahora están viendo el por qué la carrera deinformática es para gente selecta. Muchos han abandonadotan prodigiosa carrera.Ahora veremos en esta práctica algo que en parte meemociona, que es el manejo de bases de datos. Quizá digasque eso ya lo hiciste en la práctica pasada… ¿pero quécrees? Aunque se manejan bases de datos, ahora serádiferente. Ya lo verás.Empezaremos por trabajar con un proyecto nuevo.Haremos una aplicación sencilla queregistren las tareas que los maestros les dejamos a veces y que ustedes comúnmente jamásolvidan (Sí como no!).Antes de abrir NetBeans, primero abriremos la interfaz gráfica de MySQL, para crear la base dedatos y la tabla en la que vamos a almacenar todos los registros. Es algo similar a lo que vimosen JavaDB, pero ahora podemos hacer una conexión remota.Busquen las siguientes opciones: Inicio->Todos los Programas->MySQL->MySQLAdministratorLes mostrará la siguiente ventana: 1
  2. 2. En el cuadro de texto de Password, debes teclear root. Y das enterSelecciona la opción de Catalogs (Catálogos) y ubica donde se encuentran los íconosamarillos, debajo de Schemata.Da clic derecho en cualquier parte en blando en el recuadro de los Esquemas (Schema)Daremos clic en crear nuevo Schema. 2
  3. 3. Le damos un nombre a la base de datos (Schema): teclearemos bdtareas 3
  4. 4. Selecciona la base de datos, el icono amarillo que acabas de crear con el nombre de bdtareas.Y te aparecerá una pantalla como la siguiente:Vamos a crear la tabla tblTareas, para ello damos clic en el botón de CreateTable que seencuentra en la parte inferior de la pantalla. Y te aparecerá la siguiente imagen: 4
  5. 5. Damos de alta la tabla tblTareas, con los campos: idtbltareas (int) autoincremental, materiacomo texto de 40 de longitud, docente de tipo texto de 40 de longitud, descripción de tipo textode 100 de longitud, fecha de tipo Fecha. Tal y como se muestra en la imagen.Debes cuidar que tu pantalla para crear la tabla, quede igual que la imagen que se presentó.Una vez que ya la tengas igual, dale clic en ApplyChanges, y aparecerá la siguiente ventana:Es una sentencia en SQL que te solicita el MySQLAdministrator para poder crear la tabla. Latabla la crea el servidor de MySQL. Dale clic en Execute y te regresa a la pantalla anterior.Dale clic en Close. Y ya tenemos nuestra tabla. 5
  6. 6. Cerramos el MySQLAdministrator.Comenzamos con el proyecto. Abriremos un nuevo proyecto y lo llamaremos:ControlTareas_04. 6
  7. 7. Nota: Verifica que la casilla (checkbox) de donde dice Crear clase principal(Create Main Class),no esté activada, para no generar un Main. Dale click en Terminar (Finish).Dentro del proyecto, comienza por agregar algunos paquetes:conexiones y ventanas.Antes de continuar, se debe descargar el conector de la página de MySQL para Java, elconector J para Windows, que se encuentra en el siguiente linkhttp://dev.mysql.com/downloads/connector/j/ 7
  8. 8. Se descarga un archivo .zip, el cual debes descomprimirlo dentro de la carpeta de tu proyectode NetBeans. Se descomprime un archivo JAR, llamado mysql-connector-java-5.1.23-bin.Una vez lo tengas en tu directorio, regresamos al NetBeans.Demos clic derecho en Bibliotecas (Libraries) y seleccionamos agregar Añadir JAR/Archivo(Add JAR/Folder), buscamos donde está localizado el conector de mysql que acabamos dedescomprimir y damos clic en Abrir.Ahora ya tenemos la librería de MySQL agregada, esa librería me servirá para establecer unaconexión entre la aplicación de Java con el servidor de MySQL para poder manipular la basede datos que acabo de crear. Sin este conector, hagan de cuenta que tienen dos teléfonos decasa pero si cables.Por lo tanto debemos tener el proyecto tal y como se muestra en la imagen: 8
  9. 9. Clases para Operaciones en la Base de DatosUna de las principales características que los diversos lenguajes de programación es quepuede establecer un enlace a cualquier sistema gestor de bases de datos para podermanipularlas. Este enlace, hagan de cuenta, es como la conexión a la línea de teléfono,excelente analogía jajaja. Para ello debemos crear una clase en netbeans que me permitaestablecer dicha conexión.EstablecerConexion.javaEntonces comenzamos creando un Archivo .Java llamado EstablecerConexion para iniciar elenlace. Una vez creado el archivo, definiremos cinco atributos a nivel de clase, tal y comoaparece en la imagen: 9
  10. 10. En la línea 8, donde se declara la variable servidor, se determina a qué servidor de MySQL seva a conectar, en este caso es al servidor local, por eso se escribe localhost. En caso de que elservidor no sea local, se suple localhost por la dirección ip donde se encuentra el servidordeMySQL, y por consecuencia es en donde se encuentra mi base de datos. Por ejemplo:String servidor = "jdbc:mysql://200.79.84.5/" + bd;la variable bd se le asigna el nombre de labase de datos como la dimos de alta en MySQL. La variable nombre contiene el valor delnombre del usuario y la variable contra guarda el password; ambas variables se utilizarán paraacceder al servidor de MySQL y tener acceso a la base de datos. Y por último, la variable con,es de tipo Connection, es la clase que permite manipular la configuración del JAR desdeNetBeans o Java, para lograr el acceso a la base de datos.Ahora vamos a crear el constructor de la clase. Tal y como se muestra en la imagen. Cabeseñalar que el constructor debe tener el mismo nombre de la clase.Solo hacemos que los atributos contra y pass tengan los valore enviados a esta clase deEstablecerConexion.JAVA, puesto que se va a acceder a esta clases desde otras dentro delproyecto.Declararemos otro constructor de la clase pero ahora sin recibir ningún parámetro. Cabemencionar que por la cualidad del Polimorfismo, podemos declarar varios métodos con elmismo nombre, pero no con los mismos parámetros. Así que podemos declarar otroconstructor, pero ahora sin parámetros. Teniendo el código como la siguiente imagen.El objejoClass.forName hará referencia a una librería del conector de MySQL, para poderutilizar el Driver para la conexión a la base de datos. En caso de que no se cargue dicho Driver,no se puede establecer la conexión a la base de datos. A la variable con, a través delDriverManager, se establece la conexión con los valores del servidor, el nombre del usuario y el 10
  11. 11. password. Se valida si con es diferente de null, para verificar la conexión satisfactoria. Semanipulan dos tipos de excepciones, la primera tiene que ver con el Driver y la configuracióndel servidor de MySQL, para lograr la conexión. Y la segunda excepción es en caso de quealguna clase no se haya encontrado, principalmente el Class.forName que contendrá el valordel Driver de MySQL.No se desanimen, son muchas validaciones para poder establecer la comunicación con la basede datos. Esta es una de las diferencias entre la práctica pasada y esta que estamosrealizando. No se deanimen, vamos bien.Apenas vamos iniciando, creo que esto se está poniendo interesante. ¿A poco no? Ahora conlo que sigue. Establecemos los métodos Getter y Setter para el atributo con de tipoConnection. Y tenemos algo parecido al siguiente código:Con ello podemos leer y asignar el valor de la conexión al atributo con para establecer laconexión a la base de datos.Ahora crearemos un método de ObtenerConexion de tipo Connection, recuerden que el tipo demétodo indica el valor que va a retornar una vez que se mande llamar. Es un método sencillopero nos sirve para regresar la conexión a la base de datos desde cualquier clase que lamandemos llamar.Seguimos trabajando dentro de esta clase.Y qué dijeron? “Ya se terminaron los métodos de configuración de la conexión a la base dedatos”; pues no, lamento decirles que falta solamente falta el método que nos permite cerrar laconexión a la base de datos. Así que a crearla. 11
  12. 12. El método close del objeto con para cerrar la conexión a la base de datos, no se recomiendaque la base de datos esté por mucho tiempo conectada porque hace que la base de datos seinconsistente.Ahora sí! Hemos terminado los métodos para administrar la conexión a la base de datosutilizando el conector J de MySQL.Operaciones de Lectura y Escritura a la Base de DatosComo introducción, haremos notar que en las bases de datos existen dos operacionesprincipales y de rigor que se debe hacer directamente a la memoria. Estamos hablando deoperaciones de lectura y escritura de datos.Dentro de la misma clase de EstablecerConexion, haremos los métodos para aplicar los dostipos de operaciones. Comenzaremos creando el método que nos permite insertar datos a latabla que tengo en mi base de datos.El método es: 12
  13. 13. Dentro de este método, resaltaremos dos sentencias.  El PreparedStatement de la clase java.sql, prepara al editor de líneas de comando para operaciones de escritura. El servidor de MySQL trabaja a través de líneas de comandos y este método permite preparar y editar la línea de comandos para ejecutar la instrucción de SQL.  El método execute() da la instrucción al servidor de MySQL de que ejecute la sentencia que se escribió en la línea de comandos en el PreparedStatement. En dado caso de que no haya errores la Excepción que se maneja no será lanzada, en caso de que ocurra algún error, el mensaje de error aparecerá en una ventana emergente.Seguimos con el método que nos servirá para leer datos.Dentro de este método, resaltaremos dos sentencias.  El Statement de la clase java.sql, prepara al editor de líneas de comando para operaciones de lectura. El servidor de MySQL trabaja a través de líneas de comandos y este método permite preparar y editar la línea de comandos para ejecutar la instrucción de SQL.  El método executeQuery() da la instrucción al servidor de MySQL de que ejecute la sentencia que se escribió en la línea de comandos en el Statement. Solo se recuperan los datos almacenados en la base de datos en ese momento. En dado caso de que no haya errores la Excepción que se maneja no será lanzada, en caso de que ocurra algún error, el mensaje de error aparecerá en una ventana emergente.Terminamos con el archivo EstablecerConexion.Java. Solo ilustraré las librerías que deben serimportadas. 13
  14. 14. OperacionesDML.JavaDML son las siglas de Lenguaje de Manipulación de Datos (siglas en inglés). En este tipo delenguaje, entran todas las sentencias de SQL de lectura (Select) y escritura (Insertinto, Update,Delete).Por lo tanto haremos los métodos necesarios para manipular solamente tres sentencias de lasmencionadas, las cuales son: Select, Insertinto, Update.En el paquete de conexiones, crearemos un archivo .Java, el cual le pondrás el nombre deOperacionesDML.Java. En esta clase, escribiremos todos los métodos que permitan enviarlas sentencias en SQL para las operaciones de lectura y escritura.Notamos que la imagen que sigue se presentan las librerías que se van a necesitar enOperacionesDML.java, cada una tiene su propia función y se recomienda que no se omitaninguna. 14
  15. 15. En la siguiente imagen se declara la instancia objConexion de tipo clase EstablecerConexion,para poder las operaciones de lectura y escritura utilizando la conexión a la base de datos.Recuerda que para poder hacer dichas operaciones de lectura y escritura, debemos tener elenlace hacia la base de datos.Mencionaremos cada uno de los métodos que se van a utilizar dentro deOperacionesDML.java para cada una de las operaciones que ya mencionamos antes.Como primer método tenemos InsertarTareas, recibiendo parámetros de acuerdo al número decampos que tenga en la base de datos; se menciona un parámetro por campo. Será cierto?Si,no lo dudes, y si te preguntas que en dónde está el Idtbltareas, te diré que ese campo es detipo numérico y es autoincremental. Esto significa que por cada registro que se vaya insertandoen la tabla, el valor de idtbltareas va incrementando de uno en uno automáticamente.Sin embargo vemos en la sentencia de SQL, en InsertInto, que tenemos un 0 para el primercampo. Esto es sencillo, el autoincremental no necesita valores, sin embargo la sentenciaInsertinto requiere que la cantidad de valores que se escriben después de VALUES, sea elmismo para cada campo. Claro hay excepciones, pero eso lo veremos luego.En las siguientes dos imágenes, se mencionan dos métodos, uno para insertar y el otro paramodificar datos. En ambos, se necesita una instancia de tipo Statement llamada ejcutor, quenos sirve para preparar la línea de comandos del servidor de MySQL y que reciba en esa líneade comandos una cadena que representa la operación de insertar un registro (InsertInto); adiferencia del segundo método, es el valor de la cadena de SQL, cambiando el insertinto porel Update. Las dos sentencias (insertinto y update) son sentencias para escritura en lamemoria. 15
  16. 16. El siguiente método, se utiliza para leer o recuperar datos desde la base de datos a laaplicación. Se realiza a través de un arreglo bidimensional y es el valor que regresa el método.Recibe dos parámetros que indica cuántos renglones me arroja la consulta y la segunda unacadena de texto que representa una sentencia en SQL que me permite ver la información decada campo.Los primeros 5 renglones después del Try, son las sentencias para recuperar el número derenglones que me arroja una lectura de la base de datos, eso nos servirá para dimensionarnuestro arreglo Datos de tipo Object, la instancia res es de tipo Resultset, lo cual me indicaque puedo leer los datos del resultado de la consulta que se hizo. Y con el métodogetInt(“cont”) lo que estamos haciendo ahí es recuperar el valor que me dio como resultado dela ejecución de la sentencia.En la siguiente parte, en donde se declara el arreglo bidimensional Datos de tipo Objectestamos preparando para realizar la consulta y recuperar todos y cada uno de los valores quetenga en la tabla de mi base de datos. Recuerda que la tabla tiene un aspecto bidimensional,por eso se declara la instancia Datos de la misma forma.Se realiza la sentencia con el médodo de executeQuery() y me arroja otra vez un resultset,esta rs de tipo resultset, me permitirá navegar en cada una de las celda de la tabla que megenere como resultado de la consulta. Y con un ciclo WHILE, que lo utilizamos para recorrercada fila de la tabla que me generó como resultado. El método rs.nextInt, permite leer cadarenglón hasta que ya no quede ningunoDentro del ciclo While, llenaremos el arreglo Bidimensional Datos de tipo Object, accediendo acada campo que me arroja el resultset, claro está que el parámetro que se tiene entreparéntesis, debe contener el nombre del campo al que se quiere recuperar la información. 16
  17. 17. El métodoLlenarTabla, este método nos permite desplegar el resultset generado por laconsulta realizada en el método anterior. Solo que aquí se manipula un componente con lamisma estructura que un resultset. El componente es un JTable.Se definen las columnas, se manda llamar al método de ObtenerDatos, declado en esta clase,para poder recibir el resultado y lo pueda asignar a la tabla.Se declara un modelo de tabla por default para respetar la estructura bidimensional. Y se lemandan los dos parámetros que se definieron en el método anterior. Se regresa el modelo detabla según sean los resultados y las columnas. 17
  18. 18. VentanasMenu.JavaEstá clase es un JFrame. Ya lo hemos visto en las sesiones pasadas. Así que agregamos unJFrame que se llame Menu. Le agregamos un MenuBar, le quitamos el menú de Edit,Modificamos el texto del menú File y se lo cambiamos a Archivo. Le agregamos dos MenuItem.Al primero le cambiamos el texto a Agregar Tareas, y al segundo Mostrar Tareas. Verifica quela pantalla la tengas como en la figura que sigue.Una vez que ya tengas lista la pantalla de Menú, dale clic derecho al menú de Agregar Tareas,y sigue las opciones de: Events->Action->ActionPermormed. Y desde ahí mandaremosllamar el JFrame de Registro; tecleando el código siguiente:Una vez concluido el código anterior; dale clic derecho al menú de Mostrar Tareas, y sigue lasopciones de: Events->Action->ActionPermormed. Y desde ahí mandaremos llamar elJFrame de Consultar; tecleando el código siguiente: 18
  19. 19. Quizá te marque errores en Registro y en Consultar, es porque todavía no hemos generado losJFrame de cada uno de ellos.Antes de iniciar con la siguiente ventana, que es la ventana de Registro; debemos aprender unpoco acerca del manejo de calendarios dentro de ambiente Swing de Java. Para ello, debemosingresar al siguiente link y descargar el .JAR que me permite insertar los componentes quemanejan las fechas. Cuando lo descarguen, agreguen el .JAR en su carpeta de proyectos.Link para descargar el jcalendarhttp://www.java2s.com/Code/Jar/j/Downloadjcalendar133jar.htmUna vez que hayan descargado el .JAR y lo hayan agregado en su carpeta del proyecto;ingresen al siguiente link que les dará unas instrucciones sobre cómo agregar los componentesnecesarios para nuestro proyecto. No quise documentar esta parte, porque sería algo diferenteque a ustedes les serviría como descanso positivo. Vaya concepto, pero creo que es el quemejor se le acomoda jejeje.Link para agregar el jcalendar.jar al proyectohttp://pedrosantosamado.blogspot.mx/2010/08/como-agregar-jcalendar-netbeans.htmlYa que hayan agregado la librería del JCalendar a su proyecto, tengan en cuenta los doselementos principales que vamos a manejar en el presente proyecto. Como se muestra en lasiguiente imagen, son dos elementos que hay que agregarlos: JCalendar y el JDateChooser.Esos dos elementos son de tipo calendario, sin embargo el primero muestra el calendariocompleto y el segundo lo muestra de forma desplegable. Esos dos se agregan al momento deagregar las librerías (Ver imagen 4 de vínculo anterior). 19
  20. 20. Ya cuando hayan seleccionado los dos componentes, le dan Next (Siguiente) y les aparecerá lasiguiente pantalla. En ella seleccionen la opción de Swing Controls (Controles Swing). Es enesa parte en la que aparecerán los dos componentes que hemos seleccionado en el pasoanterior. Es importante que verifiques en dónde vas a colocar los componentes, porque desdeahí los va a insertar en los siguientes formularios. 20
  21. 21. Ya que le diste clic en Finish, dentro de tu proyecto, en la ventana de Palette (Paleta) decomponentes, verás los dos componentes como en la siguiente figura. En caso de que no teaparezcan, te habrías brincado un paso, así que debes volver a revisar. 21
  22. 22. Registro.JavaAgregamos un JFrame llamado Registro, dentro del paquete de Ventanas.Ya teniendo el JCalendar y el JDateChooser, ahora si agregamos los componentes al JFramede Registro: Etiquetas (Labels) para: Registro de Tareas, Materia, Docente, Descripción yFecha. Para Materia y Docente, agregar un TextField (Campo de Texto), para Descripción unTextArea(Área de Texto), y para Fecha, selecciona el JDateChooser. Agrega solo el Botón deAceptar.La ventana debe tener más o menos el mismo diseño como en el de la imagen. 22
  23. 23. Damos clic derecho en el botón de Aceptar, y seleccionamos las siguientes opciones: Events->Action->ActionPerformed. Y tecleamos el siguiente código.Señalaremos dos cosas de este código. 1. La variable fecha es de tipo String, y el formato de fecha de MySQL, aunque es de tipo Date, lo maneja como si fuera un String, aunque con el formato de año-mes-dia (yyyy- MM-dd). En ese reglón se implementa el formato que requiere el MySQL. 2. En el reglón de con.InsertarTareas, se manda llamar al método de InsertarTareas, previamente escrito en las clases anteriores, mandando los parámetros en orden a cómo serán recibidos en el método. Es preciso que revises esta parte.Consultar.JavaAgregamos, un nuevo JFrame en el paquete de ventanas, llamado Consultar. En este JFrameagregamos los siguientes componentes: Etiqueta (Label) para: Tareas, un JTable con 5columnas y solo el Botón. Al botón, le podrás Modificar como Texto.Dale clic derecho a la tabla y selecciona la opción de Cambiar Nombre de Variable (ChangeVariable Name) y le pones tblconsultas.La ventana debe tener más o menos el mismo diseño como en el de la imagen. 23
  24. 24. Una vez teniendo la interfaz, damos clic en Source y declararemos 5 atributos que refieren acada uno de los valores que vamos a ingresar a la base de datos. Observa en el código yescribe los atributos de acuerdo a los tipos que se señalan, eso se debe respetar porque sondel tipo que se definieron en la base datos. Además de una variable de tipo booleano.Regresa a la pantalla de diseño y dale clic a cualquier lugar del JFrame, y sigue las siguientesopciones: Events->WindowsFocus->WindowGainedFocus, para teclear el código de lasiguiente imagen. Cabe mencionar que este evento se ejecuta cuando el JFrame estárecibiendo el Cursor una vez que se carga en memoria y se empieza a visualizar.En este código, se manda llamar al método de LlenarTabla y le mandamos el nombre de latabla que tenemos en el JFrame. El método se encargará de ejecutarse y de mandar losresultados.Regresamos al Diseño del JFrameConsultar, y damos clic en el botón de Modificar, siguiendolas siguientes opciones: Events->Action->ActionPerformed. Se abrirá la ventana de código yahí se teclea el código de la imagen siguiente. 24
  25. 25. En este código, lo único que se hace es declaran una instancia de Modificar, y le modificamoslos atributos declarados en el JFrame de Modificar. Cada atributo corresponde a los campos dela tabla de la base de datos. Quizá ahorita marque error, porque no tenemos el JFrameModificar, pero podemos continuar. Cada uno de los atributos recibe valores de cada celda dela tabla.Nota: El ejercicio está validado para que se seleccione un reglón de la tabla ya cuandoestá en ejecución el programa. En caso de que no se seleccione, provocará unaExcepcion.Modificar.JavaAgregamos un JFrame llamado Modificar, dentro del paquete de Ventanas. Y agregamos loscomponentes al JFrame de Modificar: Etiquetas (Labels) para: Modificar Tareas, Materia,Docente, Descripción y Fecha. Para Materia y Docente, agregar un TextField (Campo deTexto), para Descripción un TextArea(Área de Texto), y para Fecha, selecciona el JCalendar.Agrega solo el Botón de Aceptar. 25
  26. 26. Una vez teniendo la interfaz, damos clic en Source y declararemos 5 atributos que refieren acada uno de los valores que vamos a ingresar a la base de datos. Observa en el código yescribe los atributos de acuerdo a los tipos que se señalan, eso se debe respetar porque sondel tipo que se definieron en la base datos.Regresa a la pantalla de diseño y dale clic a cualquier lugar del JFrame, y sigue las siguientesopciones: Events->WindowsFocus->WindowGainedFocus, para teclear el código de lasiguiente imagen. Cabe mencionar que este evento se ejecuta cuando el JFrame estárecibiendo el Cursor una vez que se carga en memoria y se empieza a visualizar.Con el código de la imagen, mostramos en los componentes de los cuadros de texto, losvalores que recibieron los atributos cuando mandaron llamar la pantalla de Modificar desde lapantalla de Consultar.Damos clic derecho en el botón de Aceptar, y seleccionamos las siguientes opciones: Events->Action->ActionPerformed. Y tecleamos el siguiente código.En el reglón de con.ModificarTareas, se manda llamar al método de ModificarTareas,previamente escrito en las clases anteriores, mandando los parámetros en orden a cómo seránrecibidos en el método. Es preciso que revises esta parte.Con esto hemos terminado con la codificación. Ahora sí, podemos ejecutar nuestro programa.Las pantallas en ejecución se muestran a continuación. Están acomodadas en orden en que sedeben operar. Suerte con tu aplicación. 26
  27. 27. EjecuciónPrincipalAgregar Tarea 27
  28. 28. Ver Tareas IngresadasSeleccionas un reglón de la tabla y das clic en Modificar 28
  29. 29. Modificar Tareas:Mostrar Tareas:ConclusiónYa conocimos un poco de cómo darle un poco de diseño a las pantallas en la práctica pasada,ahora te toca a ti, como reto adorna la ventana de tu agenda, vamos tu puedes, deja tuscomentarios en DevTequila de Facebook ahí podemos atenderte. 29
  30. 30. Esta es una creación del club de programación, a veces programar puede ser divertido. 30

×