Você está na página 1de 4

Actividad de Desarrollo de Interfaces.

Actividad 7 Desarrollo de proyecto con Netbean y la interfaz gráfica Swing.

Objetivo:

El objetivo de esta actividad es trabajar con JTable, JScrollPanel,JComboBox.

Se desarrollará 1 formulario de inicio que mostrará un JComboBox que contendrá 3 valores


para acceder a 3 tablas de una base de datos llamada Librería. Cuando seleccionamos una
opción, se cargará en el JTables los valores de dicha tabla.

JFrame Principal.

Guía para realizar la actividad:

1º Creamos un nuevo Proyecto.

 File /New Proyect /Java /Java Application


 Le indicamos el nombre al proyecto, en nuestro caso ConexionBD1
 Dejamos la ruta por defecto de donde se guardará el proyecto.

2º Dentro del paquete Vista creamos nuestro formulario.

 Crearemos un archivo JFrame Form: Botón derecho sobre el paquete Vista /New/
JFrame Form /Class Name= Principal.

3º Indicamos la dimensión preferida de la ventana.

 En las propiedades del JFrame buscamos preferredSize e indicamos [658, 433]

4º Dentro del JPanel incluimos:


 JLabel: Selecciona una Tabla:

Página 1 de 4
 JComboBox: cb_seleccion. Añadir los conceptos Alumnos, Libros, Prestamos.
 JTable: tb_libreira.
 JScrollPanel.
 JButton: Limpiar; bt_limpiar

5º Crea un nuevo paquete denominado conexionbd


 Adjuntar fichero ClaseDatos.java. Para poder conectar a la base de datos en
MySQL.

6º Adjuntar al Proyecto librería de MySQL


 Libreries/Add Librery /MySQL JDBC Driver ...

7º Añadir titulo al JFrame Principal.


 Este apartado lo haremos desde el código del JFrame.
 Entramos en la pestaña de Source.
 Dentro de la clase añadimos 2 variables globales: ClaseDatos _cldatos; ResultSet _rs;
 Nos posicionamos en el constructor de la clase Principal.
 Introducimos la línea this.setTitle("Mi Base de Datos");

8º En el constructor de la clase añadimos dos líneas más.


 this.setLocationRelativeTo(null); //nos permite centrar el JFrame
 this.setResizable(false); // nos impide dimensionar el JFrame

9º En el constructor de la clase añadimos además.


this.cb_seleccion.setSelectedIndex(-1);
_cldatos=new ClaseDatos(); //Clase para la conexión a BD

//para que se auto ajuste los campos


final int modeKey[] = { JTable.AUTO_RESIZE_ALL_COLUMNS,
JTable.AUTO_RESIZE_LAST_COLUMN,
JTable.AUTO_RESIZE_NEXT_COLUMN, JTable.AUTO_RESIZE_OFF,
JTable.AUTO_RESIZE_SUBSEQUENT_COLUMNS };

this.tb_libreria.setAutoResizeMode(modeKey[1]);

10º. Creo procedimiento para limpiar la tabla.


private void limpiarTabla(){
this.tb_libreria.setModel(new DefaultTableModel());

11º. Acción del JButton.


private void bt_limpiarActionPerformed(java.awt.event.ActionEvent evt) {
this.limpiarTabla();
}
12º. Creo un función para saber los campos de la tabla a buscar.

private ArrayList nomCampos(String nomTabla) {


ArrayList cabecera = new ArrayList<>();

String comandoCampos = "SHOW COLUMNS FROM " + nomTabla;


try {
_cldatos.Ejecutar_Consulta(comandoCampos);

Página 2 de 4
_rs = _cldatos.getRs();

while (_rs.next()) {
cabecera.add(_rs.getObject("Field"));

} catch (Exception ex) {


Logger.getLogger(Principal.class.getName()).log(Level.SEVERE, null, ex);
cabecera=null;
}
return cabecera;
}

13º. Creo el procedimiento de consulta de la tabla para cargar en el JTable.


private void consulta(String nomTabla){
DefaultTableModel dfm= new DefaultTableModel();
javax.swing.JTable tabla=this.tb_libreria;
tabla.setModel(dfm);

ArrayList campos = new ArrayList<>();


campos=this.nomCampos(nomTabla);
int numcampos=campos.size();
Object[] cabecera=campos.toArray(new Object[campos.size()]);
dfm.setColumnIdentifiers(cabecera);

Object[] fila=new Object[numcampos];

try {
String sql="Select * from " + nomTabla;
_cldatos.Ejecutar_Consulta(sql);
_rs = _cldatos.getRs();

while(_rs.next()){

for(int i=0;i<numcampos;i++){
fila[i]=_rs.getObject(i+1);
}

dfm.addRow(fila);
}

} catch (Exception ex) {


Logger.getLogger(Principal.class.getName()).log(Level.SEVERE, null, ex);
}
}

Página 3 de 4
14º. Creo evento al pulsar JComboBox.
private void cb_seleccionActionPerformed(java.awt.event.ActionEvent evt) {
int valor=this.cb_seleccion.getSelectedIndex();
switch (valor) {
case 0:
this.consulta("alumnos");
break;
case 1:
this.consulta("libros");
break;
case 2:
this.consulta("prestamos");
break;
}
}

Realiza y envía el proyecto para su evaluación.

Página 4 de 4

Você também pode gostar