3. DEFINICIÓN:
Table 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. Puedes 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, no sabe nada de quién va a visualizar los datos ni como.
11. La forma más rápida y sencilla
Aparte de usar otros constructores que hay en jtable, una de las formas 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 fila
corresponde a una clase de datos y las columnas son los atributos de esa clase. Por ejemplo,
queremos una lista de persona y cada persona tiene un nombre, un apellido y una edad.
Queremos pintar este lista en una tabla,de forma que tiene tres columnas (nombre, apellido y
edad) y tantas filas como personas haya en la lista. A mi me gustaría tener un modelo al que le
diga modelo.Anhadepersona (persona);