3. DEFINICIÓN:
JTable es un componente swing java que nos permite mostrar datos en una
tabla de una base de datos, sin embargo a diferencia de otros componentes
similares de otros lenguajes de programación, java no nos permite gestionar
directamente los datos.
4. Un JTable representa una tabla de datos con sus respectivas Filas y Columnas, la
información que se muestra en ella puede ser ingresada tanto por nosotros como
obtenida de una base de datos.
JTable es una clase que me permite organizar una determinada información en tabla,
ésta difiere de una base de datos normal porque al utilizar JTable podemos visualizar esta
tabla, brindándole al usuario organización de información, oportunidades de editar y
cambiar el tamaño de las columnas entre otras.
5. INICIOS DE JTABLE:
En principio se creó la clase JTable para constituir un interfaz ligado a bases de
datos a través de "Java Database Connectivity" (JDBC), y así evita la complejidad
que existía para el manejo de datos, dando así al programador mucha más
facilidad a la hora de trabajar con este tipo de información.
JTable le da al programador muchas facilidades, pues este posee varias
características que permiten hacer desde tablas con información compleja y muy
estructurada hasta tablas con información sencilla y "básica".
6. TABLE MODEL:
La clase JTable controla como se presentan los datos, siendo el TableModel quien
controla los datos sí mismos. Para crear una JTable habrá pues que crear un
TableModel antes, normalmente. TableModel lo que hace es predeterminar ciertas
características para el JTable es decir, que tú puedes poner ciertos parámetros dentro
de un TableModel y así no tener que determinarlos siempre. TableModel es un
programa que guarda los datos de la tabla para sí mismo, es decir, puede tener la
información de la tabla, pero estos datos son visualizados por el computador, es decir,
para visualizar una tabla el TableModel puede tener la información, pero sin el JTable
no se puede visualizar para el usuario.
7. PROPIEDADES:
Llenar un JTable con datos de una base de datos MySql
Para poder hacer esto, primero ya debes de haber importado tu librería de MySql
conector y ya tienes tu clase de conexión, si no es así, favor de ver primero este post,
haz clic aquí. Después insertamos un JTable, del lado derecho tenemos el Swing
Controls, haz clic sobre Table y después haz clic sobre tu JFrame para que se inserte el
JTable, después, en el Panel de Properties, busca la opción model y haz clic en el botón
de los 3 puntos.
Después en property using, eliges la opción Custom code…
Después le damos un nombre a nuestro modelo de nuestra tabla, yo le pondré
modeloTabla.
8. Primero damos de alta nuestro modelo ya que lo que hicimos anteriormente fue asignarle el modelo
a la tabla pero no lo declaramos, y es lo que vamos hacer aquí.
Primero, se importan las librerías que se van a ocupar que son:
import javax.swing.table.DefaultTableModel;
import java.sql.*;
import java.util.logging.*;
Después como se dijo anteriormente, se declara nuestro modelo que le asignamos a nuestra tabla,
se declara con DefaultTableModel, y la librería que ocupa es javax.swing.table.DefaultTableModel y
además llamamos a nuestra conexión de base de datos, yo lo llamo como conexion.conexion por
que la primera conexión quiere decir que es mi Package y la segunda conexión quiere decir que es
mi Clase.
9. Primero declaro un variable de tipo String que se llama en mi caso sql y como valor de esa
variable esta la consulta que le haré a mi base de datos para que se llene la información,
fíjate que son 3 columnas las que estoy pidiendo en mi consulta, las misma que tiene mi
JTable.
Utilizo PreparedStatement para inicializar mi consulta.
Después utilizo ResultSet para ejecutar mi consulta.
Observa después que declaro un variable de tipo Object con el nombre datos [] y le digo que
va a ver 3 objetos (las 3 columnas que pedí en mi consulta a la base de datos).
10. EJEMPLO DE TABLEMODEL EN JTABLE
Vamos a ver cómo utilizar un JTable de java. Pudes ver un applet de ejemplo y el código
fuente.
Un JTable es un componente visual de java que nos permite dibujar una tabla, de forma
que en cada fila/columna de la tabla podamos poner el dato que queramos; un nombre, un
apellido, una edad, un número, etc, etc.
Como muchos componentes de java, se ha seguido una separación modelo-vista . La vista
es el componente visual que vemos en pantalla, el modelo es una clase que contiene los
datos que luego se verán en pantalla. El modelo de datos únicamente contiene los datos,
nosabe nada de quién va a visulizar los datos ni como.
11. La forma más rápida y sencilla
Aparte de usar otros constructores que hay en JTable, una de lasformas más rápidas y sencillas de
utilizar un JTable teniendo toda su funcionalidad, consiste en instanciar como modelo de datos
un DefaultTableModel y luego un JTable , pasándole el modelo en el constructor. El código
quedaría:
DefaultTableModel modelo = new DefaultTableModel();
JTable tabla = new JTable (modelo);
A partir de ahora todo se maneja con el modelo. En cuanto añadamos, borremos o cambiemos
datos del modelo, el JTable se enterará y actualizará automáticamente.
El DefaultTableModel tiene todos los métodos necesarios para modificar datos en su interior,
añadir filas o columnas y darle a cada columna el nombre que queramos
12. Vamos a hacer nuestro propio modelo de datos
El DefaultTableModel es un modelo genérico y puede no ser suficiente (o al menos, incómodo de
usar) para nuestros propósitos.
Es bastante habitual el querer manejar la tabla como si fuera una lista, de forma que cada
filacorresponde a una clase de datos y las columnas son los atributos de esaclase. Por ejemplo,
queremos una lista de Persona y cada persona tiene unnombre, un apellido y una edad. Queremos
pintar este lista en una tabla,de forma que tiene tres columnas (nombre, apellido y edad) y
tantas filascomo Personas haya en la lista. A mi me gustaría tener un modelo alque le diga
modelo.anhadePersona (persona);