Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Guia 6 Java
Guia 6 Java
Guia 6 Java
I.OBJETIVOS
Que el estudiante aplique sus conocimientos de base de datos.
Que el estudiante pueda conectar un a aplicación gráfica con una BD.
II. INTRODUCCIÓN
En esta guía continuaremos el uso de Swing y las conexiones a bases de datos. Como antes se había
mencionado, Netbeans posee excelentes asistentes para el diseño de aplicaciones gráficas,
combinado con JDBC se pueden desarrollar aplicaciones potentes para escritorio.
III. PROCEDIMIENTO
1. Crear un nuevo proyecto con el nombre de “Guia6poo1”
2. Para poder realizar una conexión crearemos una clase que tenga los métodos necesarios y
que se llame “Conexion.java”, agregar el siguiente código:
package guia6poo1;
importjava.sql.*;
publicclassConexion {
private Connection conexion =null;
private Statement s =null;
privateResultSetrs=null;
private String query="";
//Contructor
publicConexion() throwsSQLException{
try
{
//obtenemos el driver de para mysql
Class.forName("com.mysql.jdbc.Driver");
// Se obtiene una conexión con la base de datos.
conexion = DriverManager.getConnection (
"jdbc:mysql://localhost/Guia6poo1","root", "");
// Permite ejecutar sentencias SQL sin parámetros
s = conexion.createStatement();
}
catch (ClassNotFoundException e1) {
//Error si no puedo leer el driver de MySQL
System.out.println("ERROR:No encuentro el driver de la BD:
"+e1.getMessage());
}
}
//Metodo que permite obtener los valores del resulset
publicResultSetgetRs() {
returnrs;
}
//Metodo que permite fijar la tabla resultado de la pregunta
//SQL realizada
publicvoidsetRs(String consulta) {
try {
this.rs = s.executeQuery(consulta);
} catch (SQLException e2) {
System.out.println("ERROR:Fallo en SQL: "+e2.getMessage());
}
}
Nota: No olvide agregar el driver MySQL JDBC Driver al proyecto (recomendado) o a la dirección
respectiva.
7. Cambiar las propiedades de cada componte según como se muestra en la siguiente tabla.
}else
{
JOptionPane.showMessageDialog(this, "El passworContieneCaracteresInvalidos");
}
} catch (SQLException ex) {
Esto es debido a que el formulario que se llamará MDI_Form será creado en el paso 11 de esta guía.
10. Para darle funcionalidad al botón Limpiar seleccionar el evento actionPerformed y agregar
el siguiente código:
11. Finalizado la creación del formulario de ingreso de usuario, pasaremos a crear un formulario
Mdi dentro del paquete “guia6poo1” llamado “MDI_Form” y agregar un Jframe interno
(JInternalFrameForm) el cual se llamara “MantenimientoEmpleados” dentro del mismo
paquete.
jPasswordField
14. Cambiar las propiedades de cada componte según como se muestra en la siguiente tabla.
15. Importar antes de la clase el paquete java.sql.* luego, dentro de la clase, agregar las
siguientes propiedades e inicializar el constructor tal y como se muestra en la siguiente
imagen.
17. Ahora pasaremos a crear la funcionalidad de los botones Anterior, Siguiente y Limpiar,
seleccionar el evento actionPerformedy los digitaremos tal y como se muestra en la imagen.
Nota: todos los métodos mostrados se crearán en el siguiente paso, no tome en cuenta el
error de “método no definido” y los llamados de atención de SQLException no lanzado.
18. Como se puede observar cada evento llama métodos importantes que generan la
funcionalidad de los botones Anterior y Siguiente, los métodos son detallados a continuación
(si no comprende su funcionamiento consultar con su instructor).
19. Ahora generaremos la funcionalidad del botón ingresar para agregar un nuevo registro a la
base de datos, digite el código necesario para este paso, que utiliza el eventoactionPerformed.
}
else{
Conexion con2=new Conexion();
CheckPasswordverificar= new CheckPassword();
char passArray[] = txtPassword.getPassword();
if(verificar.verificarPassword(passArray)){
String password = new String(txtPassword.getPassword());
con2.setQuery("Insert into usuarios values("+txtID.getText() + ",\"" + txtNombres.getText() +
"\",\"" +
txtApellidos.getText() + "\"," +Integer.parseInt(txtEdad.getText()) +
"," + cmbTipoUsuario.getSelectedIndex() +
",\"" +txtNombreUsuario.getText() + "\",\""+
password +
"\")");
con2.cerrarConexion();
btnIngresar.setText("Ingresar");
JOptionPane.showMessageDialog(this, "Usuario Ingresado Exitosamente");
limpiarText();
con2.cerrarConexion();
iniciarValores();
}
else{
JOptionPane.showMessageDialog(this, "El passwor Contiene Caracteres Invalidos");
}
}
} catch (SQLException ex) {
Logger.getLogger(MantenimientoEmpleados.class.getName()).log(Level.SEVERE, null,
ex);
}
20. Ya que podemos tener problemas con el campo de edad, agregaremos una validación para
evitar que se escriban caracteres diferentes de dígitos, para ello realizar lo siguiente:
21. Ya que abrimos una conexión al inicializar el formulario también deberemos de cerrar la
conexión al cerrar el formulario, para ello debemos de apoyarnos de los pasos necesarios
vistos en la guia5.
22. Ahora agregaremos la funcionalidad al Mdi padre este debe se debe de ver de la siguiente
manera.
24. Ahora solo nos queda agregar al hijo al desktopPanedel padre, como se mencionó en el
punto 21 la propiedad bandera es utilizada para evitar que se sigan agregando más hijos del
mismo tipo al padre.
25. Por último, ya teniendo aplicación final resulta complicado tener que abrir NetBeans para
correr la aplicación. Por eso, crearemos un archivo ejecutable.Las aplicaciones en Java
poseen la extensión.jar, nos apoyaremos de la bondades del IDE NetBeans y solo daremos
clic derecho sobre el proyecto y dar clic sobre “Clean and Build”.
El proyecto comenzará a correr desde aquella clase que se haya establecido como main,si
usted quiere modificar el main original deberá irse a las propiedades del proyecto, aparecerá
una ventana como la siguiente. Seleccionar Run y establecer el main que queremos por
defecto.
Nota1: No olvidar que por cada cambio deberá genera el nuevo jar.
Nota2: Si los métodos que utilicen la conexión dan errores seguramente es porque no se
agregado el conector de mysql.
Finalmente si todo ha salido bien, puede ejecutar la aplicación dando doble clic a su archivo .jar:
26. Utilizaremos el jTable, para este punto debe de crear un nuevo JframeForm en el paquete
“guia6poo1” que se llame Jtable y que tendrá un aspecto gráfico similar al mostrado en la
siguiente imagen.
27. Cambiar las propiedades de cada componte según como se muestra en la siguiente tabla.
28. Agregar el siguiente código que permite declarar un atributo de tipo DefaultTableModely
los valores de inicialización para nuestra tabla que van dentro del constructor.
Y maneje el evento ActionPerformed (Puede dar doble clic en nuevo MenuItem para hacerlo
de inmediato), agregando este código.
Al igual que el paso 15, es necesario que manejemos un “bandera” para este formulario.
30. Ya que abrimos una conexión al inicializar el formulario también deberemos de cerrar la
conexión al cerrar este formulario (exactamente lo mismo que el paso 21).