Trabajando con las base de datos y extrayendo los datos para su uso con java en post anteriores, ahora necesitamos crear una interfaz de usuario para poder interactuar de una manera sencilla con nuestra aplicacion.
Comenzaremos por ahora solo con mostrar los datos que sacamos de la base de datos MySql, poco a poco se ira perfecconando la aplicacion para tener al final un proyecto bastante complejo y bastante completo.
Comenzaremos por ahora solo con mostrar los datos que sacamos de la base de datos MySql, poco a poco se ira perfecconando la aplicacion para tener al final un proyecto bastante complejo y bastante completo.
Paso1 :
Con el proyecto abierto (contactos) crearemos un nuevo jFrame al que llamaremos "tablaform", a esta nueva ventana le añadiremos los controles JPanel y JTable como se ve en la imagen
al objeto JTable renombraremos a "tabla", la distribucion de los objetos debe quedar asi:Paso 2:
Modificaremos la clase "persona.java", mas concretamente la funcion "getDatos()", los cambios que hicimos fueron para poder leer todos los datos de nuestra tabla
public Object [][] getDatos(){
int registros = 0;
//obtenemos la cantidad de registros existentes en la tabla
try{
PreparedStatement pstm = con.getConnection().prepareStatement("SELECT count(1) as total FROM persona ");
ResultSet res = pstm.executeQuery();
res.next();
registros = res.getInt("total");
res.close();
}catch(SQLException e){
System.out.println(e);
}
Object[][] data = new String[registros][5];
//realizamos la consulta sql y llenamos los datos en "Object"
try{
PreparedStatement pstm = con.getConnection().prepareStatement("SELECT " +
" id, Nombre, appPaterno, appMaterno, mail " +
" FROM persona" +
" ORDER BY id ");
ResultSet res = pstm.executeQuery();
int i = 0;
while(res.next()){
String estCodigo = res.getString("id");
String estNombre = res.getString("nombre");
String estpaterno = res.getString("appPaterno");
String estmaterno = res.getString("appMaterno");
String estmail = res.getString("mail");
data[i][0] = estCodigo;
data[i][1] = estNombre;
data[i][2] = estpaterno;
data[i][3] = estmaterno;
data[i][4] = estmail;
i++;
}
res.close();
}catch(SQLException e){
System.out.println(e);
}
return data;
}
Paso 3:
a nuestro "tablaform", le añadimos "import javax.swing.table.DefaultTableModel;", al jframe le aññadimos la funcion WindowOpened y colocaremos el siguiente codigo:
private void formWindowOpened(java.awt.event.WindowEvent evt) {
//objeto para almacenar datos
Object[][] dtPer;
String[] columNames = {"id","Nombre","ap. Paterno","ap. Materno", "E-Mail"};
// se utiliza la funcion
dtPer = p.getDatos();
// se colocan los datos en la tabla
DefaultTableModel datos = new DefaultTableModel(dtPer,columNames);
tabla.setModel(datos);
}
Ya solo queda ejecutar la aplicacion: