jTable
Sabemos muy bien que los datos tabulados es una de las tareas mas comunes que se presentan al momento de crear interfaces graficas; desde la simple tabla que permite unicamente 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, sin posibles de realizar utilizando el jTable.
El jTable es un componente visual que nos permite dibujar una tabla de forma que cada fila/columna de la tabla podamos poner el dato que queramos un nombre, apellido, etc
Propiedad mas usada:
- Model: Permite definir el numero de columnas y filas de la matriz de columnas
Metodos mas usados:
- addColumn(): Añade la columna al final de la matriz de columnas.
- setModel(): Asigna el modelo de datos al objeto jTable
- getRowCount(): Devuelve el numero de filas en la tabla.
DEFAULTABLEMODEL:
Esta clase permite construir el modelo para el objeto jTable. Los metodos mas utilizados son:
- addColumn(): Anade una columna al modelo.
- addRow(): Añade una fila al final del metodo.
- getColumnCount(): Devuelve el numero de columnas en esta tabla de datos
- getRowCount(): devuelve el numero de filas en esta tabla de datos.
- getValueAt(): Devuelve un valor de atributo para la celda en la posicion row(filas), column(columnas).
- insertRow: Inserta una fila en el modelo.
- removeRow(): Elimina del modelo segun la posicion de la fila indicada.
Ahora realizaremos una aplicacion que permita ingresar nombre, apellidos y edad , el sexo sera elegido por el jComboBox, y todos ellos se agregaran al jTable, se eliminara la fila seleccionada o sino se elimine todo el registro del jTable. Empecemos
Como vemos, aqui esta la interfaz ahora a cambiar la variables:
- Nombre: txtNom
- Apellido: txtApe
- Edad: txtEdad
- Sexo: cboSexo
- Agregar: btnAgregar
- Eliminar: btnEliminar
- Eliminar Todo: btnEliTodo
- Salir: btnSalir
- jTable: tblTabla
Listo, primero importamos el JOptionPane y el DefaultTableModel de la clase Swing del paquete de javax osea seria asi:
import javax.Swing.JOptionPane o DefaultTableModel o *
Despues en El public creamos una variable de String "titulos" y es un arreglo; se iniciara los titulos como se vera en la imagen:
Listo, ahora en la siguiente linea despues del String titulos; el setColumnIdentifiers() es un metodo y se define las columnas con sus respectivos titulos y el objeto "tabla" se vilcula el modelo con el setModel() representando al objeto "tabla" al jTable. Ahora programemos el boton Agregar:
Listo, iniciamos con una variable de tipo String seguido con un arreglo y seguido darle el limite (en este caso 4, ya que se esta refiriendo a los titulos que son 4) luego asignamos los datos ingresados en los campos de texto y que muestre con su respectiva fila, para los jTextField se le pone: datos[1]=txtApe.getText(); y para los jComboBox se le pone:
datos[3]=(String)cboSexo.getSelectedItem(); quiere decir que lo que esta escrito en el ComboBox pase al JTable como tipo cadena como los campos de texto.
Luego hacemos la condicion de que si el cboSexo esta en <Seleccionar> nos envie un mensaje que debemos elegir el sexo y que retorne; una vez agregado limpiamos y mantener el foco en el txtNom para ingresar y nuevo registro, ahora programemos en boton Eliminar:
Declaramos la variable indice de tipo int, luego se le asigna el valor de la posicion de la fila con el metodo getSelectedRow(); y con la sentencia if se evalua la variable indice si es mayor o igual a cero, procedemos a remover o borrar la fila previamente seleccionada y finalmente habilitar los botones de eliminar y eliminar todo y desabilitar el boton agregar; por cierto tambien programemos el jTable con el evento MouseClicked para que al hacer click en cualquier registro de la tabla se desabilite los botones, como ya sabemos el codigo no hay necesidad de ponerlo como imagen.
Ahora programemos el boton Eliminar todo
es casi parecido al boton eliminar la diferencia es que se usa el for para eliminar todo el registro y seguido se habilita los 2 botones de eliminar y eliminar todo y desabilitar el boton agregar
por ultimo el boton salir ya conocemos el codigo:
Ahora probemos la aplicacion:
ejecutamos el programa:
Agregare registros:
Agregue unos tres registros seleccionemos una fila y miren lo que pasa:
Como pueden ver se habilito el boton agregar, ahora click en el boton eliminar:
Se elimino la fila y ahora con el boton eliminar todo:
Como vemos, hay no hay filas, esto seria todo.