SlideShare una empresa de Scribd logo
1 de 9
CONTROL JTABLE CON BASE DE DATOS
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.
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.
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".
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.
PROPIEDADES:
Llenar un JTable con datos de una base de datos Sql Server.
Para poder hacer esto, primero ya debes de haber importado tu librería de Sql Server 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.
Una vez que le asignamos el modelo a nuestra tabla, vamos al código para asignarle
los encabezados y ver cómo vamos a rellenar la tabla.
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.
Bien, enseguida si te das cuenta aparece modelo
Tabla, lo que estamos haciendo ahí es inicializando
nuestro modelo, fíjate que como parámetros de
DefaultTableModel esta null y getColumnas (), bien
donde esta null, sería la parte que ocuparíamos
para llenar la tabla de datos, pero aún no llegamos
ahí y llamamos a getColumnas () si te das cuenta es
una subClase de tipo String array donde
especificamos el encabezado de cada columna.
Además observa que tenemos otra subClase
que se llama setFilas(), esta ahí porque al iniciar
la clase va a ejecutar todo lo que este en
setFilas() que es nuestro código que llenará la
tabla de información (no importa si te da error,
deja esa línea ya que si esa no se llenará el
JTable).
Ahora lo más importante, llenar la JTable de
datos, para esto vamos a ver que tiene la
subClase setFilas () que es la que llenará la
JTable de información.
EJEMPLOS
Métodos para los suscriptores
Para implementar los métodos de los suscriptores necesitamos que
nuestro modelo tenga una lista de suscriptores y únicamente hay que
añadir o borrar suscriptores de esa lista. El código puede ser tan simple
como esto:
class MiModelo implements TableModel
{
public void addTableModelListener (TableModelListenerl) {
suscriptores.add (l);
}
public void removeTableModelListener (TableModelListener l) {
suscriptores.remove(l);< BR > }
private LinkedList suscriptores = new LinkedList();
}
public Object getValueAt (int fila, int columna) {
// Obtenemos la persona de la fila indicada
Persona aux = (Persona)datos.get (fila);
switch (columna) {
// Nos piden el nombre
case 0:
return aux.nombre;
break;
// Nos piden el apellido
case 1:
return aux.apellido;
break;
// Nos piden la edad.
case 2:
return new Integer (aux.edad);
break;
}
return null;
}
private LinkedList datos = new LinkedList();
}
Metodos para manejo de los datos
Para el manejode datos, sólo tenemos dos métodos. El que pone un
dato enuna fila,columna y el que lo obtiene. Si seguimos con la idea de
hacer unalista de personas, el código puede quedar como esto:
class MiModelo implements TableModel
{
public void setValueAt (Object dato, int fila, int columna) {
// Obtenemos la persona de la fila indicada
Persona aux = (Persona)datos.get (fila);
switch (columna) {
// Nos pasan el nombre.
case 0:
aux.nombre = (String)dato;
break;
// Nos pasan el apellido.
case 1:
aux.apellido = (String)dato;
break;
// Nos pasan la edad.
case 2:
aux.edad = ((Integer)dato).intValue();
break;
}
// Aquí hay que avisar a los sucriptores del cambio.
// Ver unpoco más abajo cómo.
}
Control JTable con base de datos

Más contenido relacionado

La actualidad más candente

Control JTable con base de datos.pdf
Control JTable con base de datos.pdfControl JTable con base de datos.pdf
Control JTable con base de datos.pdfJhiZzelh T Cz
 
Sql desde cero
Sql desde ceroSql desde cero
Sql desde ceroshochino
 
Ejemplo de base de datos y reports con jasper report
Ejemplo de base de datos y reports con jasper reportEjemplo de base de datos y reports con jasper report
Ejemplo de base de datos y reports con jasper reportjbersosa
 
Tema 16 acceso a base de datos usando jpa por gio
Tema 16   acceso a base de datos usando jpa por gioTema 16   acceso a base de datos usando jpa por gio
Tema 16 acceso a base de datos usando jpa por gioRobert Wolf
 
Documentoaltas
DocumentoaltasDocumentoaltas
DocumentoaltaslupithaRSz
 
Crear una cinta ribbon en access 2007
Crear una cinta ribbon en access 2007Crear una cinta ribbon en access 2007
Crear una cinta ribbon en access 2007SSU Foundation
 
Tema 9 aplicaciones de dos capas por gio
Tema 9   aplicaciones de dos capas por gioTema 9   aplicaciones de dos capas por gio
Tema 9 aplicaciones de dos capas por gioRobert Wolf
 
Swing MenúS Y Mantenimiento De Datos
Swing MenúS Y Mantenimiento De DatosSwing MenúS Y Mantenimiento De Datos
Swing MenúS Y Mantenimiento De DatosRandy
 
Sesión04 - Diccionario de datos (Oracle)
Sesión04 - Diccionario de datos (Oracle)Sesión04 - Diccionario de datos (Oracle)
Sesión04 - Diccionario de datos (Oracle)José Toro
 
Mantenimiento De Datos En Netbeans
Mantenimiento De Datos En NetbeansMantenimiento De Datos En Netbeans
Mantenimiento De Datos En NetbeansRandy
 
Base de datos con Netbeans
Base de datos con NetbeansBase de datos con Netbeans
Base de datos con NetbeansRandy
 

La actualidad más candente (18)

Yanina
YaninaYanina
Yanina
 
Control JTable con base de datos.pdf
Control JTable con base de datos.pdfControl JTable con base de datos.pdf
Control JTable con base de datos.pdf
 
Presentación1
Presentación1Presentación1
Presentación1
 
Jtable 1
Jtable 1Jtable 1
Jtable 1
 
Sql desde cero
Sql desde ceroSql desde cero
Sql desde cero
 
Ejemplo de base de datos y reports con jasper report
Ejemplo de base de datos y reports con jasper reportEjemplo de base de datos y reports con jasper report
Ejemplo de base de datos y reports con jasper report
 
Introduccion a VB6
Introduccion a VB6Introduccion a VB6
Introduccion a VB6
 
Tema 16 acceso a base de datos usando jpa por gio
Tema 16   acceso a base de datos usando jpa por gioTema 16   acceso a base de datos usando jpa por gio
Tema 16 acceso a base de datos usando jpa por gio
 
Matlab
MatlabMatlab
Matlab
 
Documentoaltas
DocumentoaltasDocumentoaltas
Documentoaltas
 
Crear una cinta ribbon en access 2007
Crear una cinta ribbon en access 2007Crear una cinta ribbon en access 2007
Crear una cinta ribbon en access 2007
 
Tema 9 aplicaciones de dos capas por gio
Tema 9   aplicaciones de dos capas por gioTema 9   aplicaciones de dos capas por gio
Tema 9 aplicaciones de dos capas por gio
 
Swing MenúS Y Mantenimiento De Datos
Swing MenúS Y Mantenimiento De DatosSwing MenúS Y Mantenimiento De Datos
Swing MenúS Y Mantenimiento De Datos
 
Sesión04 - Diccionario de datos (Oracle)
Sesión04 - Diccionario de datos (Oracle)Sesión04 - Diccionario de datos (Oracle)
Sesión04 - Diccionario de datos (Oracle)
 
Mantenimiento De Datos En Netbeans
Mantenimiento De Datos En NetbeansMantenimiento De Datos En Netbeans
Mantenimiento De Datos En Netbeans
 
matlab
matlabmatlab
matlab
 
Base de datos con Netbeans
Base de datos con NetbeansBase de datos con Netbeans
Base de datos con Netbeans
 
My SQL Workbench Tutorial + Instalacion
My SQL Workbench Tutorial + InstalacionMy SQL Workbench Tutorial + Instalacion
My SQL Workbench Tutorial + Instalacion
 

Similar a Control JTable con base de datos

Similar a Control JTable con base de datos (20)

Control JTable con Base de Datos
Control JTable con Base de DatosControl JTable con Base de Datos
Control JTable con Base de Datos
 
Universidad politecnica amazonica
Universidad politecnica amazonicaUniversidad politecnica amazonica
Universidad politecnica amazonica
 
Diapositivas de jtable java
Diapositivas de jtable javaDiapositivas de jtable java
Diapositivas de jtable java
 
Control jtable
Control jtableControl jtable
Control jtable
 
Diapositiva jtable
Diapositiva jtableDiapositiva jtable
Diapositiva jtable
 
Control jTable con Base de Datos
Control jTable con Base de DatosControl jTable con Base de Datos
Control jTable con Base de Datos
 
Jtableconbasededatos
JtableconbasededatosJtableconbasededatos
Jtableconbasededatos
 
J table con base de datos
J table con base de datosJ table con base de datos
J table con base de datos
 
Control JTable con Base de Datos
Control JTable con Base de DatosControl JTable con Base de Datos
Control JTable con Base de Datos
 
Proyecto De Aplicacion A La Bases Datos
Proyecto De Aplicacion A La Bases DatosProyecto De Aplicacion A La Bases Datos
Proyecto De Aplicacion A La Bases Datos
 
Caso práctico etl pentaho my sql
Caso práctico etl pentaho my sqlCaso práctico etl pentaho my sql
Caso práctico etl pentaho my sql
 
Formulario
FormularioFormulario
Formulario
 
Triggers ii
Triggers iiTriggers ii
Triggers ii
 
Clase 2 El lenguaje DDL de SQL
Clase 2 El lenguaje DDL de SQLClase 2 El lenguaje DDL de SQL
Clase 2 El lenguaje DDL de SQL
 
Unidad DidáCtica V Sql Interactivo
Unidad DidáCtica V Sql InteractivoUnidad DidáCtica V Sql Interactivo
Unidad DidáCtica V Sql Interactivo
 
Comandos sql
Comandos sqlComandos sql
Comandos sql
 
scribd.vpdfs.com_sql-server-tutorial.pdf
scribd.vpdfs.com_sql-server-tutorial.pdfscribd.vpdfs.com_sql-server-tutorial.pdf
scribd.vpdfs.com_sql-server-tutorial.pdf
 
Table models
Table modelsTable models
Table models
 
Practica 4
Practica 4Practica 4
Practica 4
 
informe
informeinforme
informe
 

Más de Jhon Carlos Zambrano Goicochea (20)

ETL
ETLETL
ETL
 
Transacciones
TransaccionesTransacciones
Transacciones
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenados
 
Vistas
VistasVistas
Vistas
 
COMANDOS DDL
COMANDOS DDLCOMANDOS DDL
COMANDOS DDL
 
Lenguaje transact
Lenguaje transactLenguaje transact
Lenguaje transact
 
E-Commerce
E-CommerceE-Commerce
E-Commerce
 
Jhon carlos
Jhon carlosJhon carlos
Jhon carlos
 
Reportes
ReportesReportes
Reportes
 
Objeto sqlcommand
Objeto sqlcommandObjeto sqlcommand
Objeto sqlcommand
 
Jhonzambrano-dhalinpalomino
Jhonzambrano-dhalinpalominoJhonzambrano-dhalinpalomino
Jhonzambrano-dhalinpalomino
 
Gestor de base de datos
Gestor de base de datosGestor de base de datos
Gestor de base de datos
 
Programación Orientada a Objetos
Programación Orientada  a ObjetosProgramación Orientada  a Objetos
Programación Orientada a Objetos
 
N capas visual basic
N capas visual basicN capas visual basic
N capas visual basic
 
Reportes
ReportesReportes
Reportes
 
PREPAREDSTATEMENT
PREPAREDSTATEMENTPREPAREDSTATEMENT
PREPAREDSTATEMENT
 
ResultSet
ResultSetResultSet
ResultSet
 
Statement
StatementStatement
Statement
 
Trabajo Connectar
Trabajo ConnectarTrabajo Connectar
Trabajo Connectar
 
Java con Base de Datos
Java con Base de DatosJava con Base de Datos
Java con Base de Datos
 

Último

OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arteRaquel Martín Contreras
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticosisabeltrejoros
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.DaluiMonasterio
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuaDANNYISAACCARVAJALGA
 
Herramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfHerramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfMARIAPAULAMAHECHAMOR
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfMaryRotonda1
 
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docxGLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docxAleParedes11
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxPRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxinformacionasapespu
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxPryhaSalam
 

Último (20)

OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arte
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
La Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdfLa Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdf
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticos
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahua
 
Herramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfHerramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdf
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdf
 
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docxGLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxPRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
 

Control JTable con base de datos

  • 1.
  • 2. CONTROL JTABLE CON BASE DE DATOS 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. 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.
  • 3. 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". 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.
  • 4. PROPIEDADES: Llenar un JTable con datos de una base de datos Sql Server. Para poder hacer esto, primero ya debes de haber importado tu librería de Sql Server 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.
  • 5. Una vez que le asignamos el modelo a nuestra tabla, vamos al código para asignarle los encabezados y ver cómo vamos a rellenar la tabla. 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.*;
  • 6. 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. Bien, enseguida si te das cuenta aparece modelo Tabla, lo que estamos haciendo ahí es inicializando nuestro modelo, fíjate que como parámetros de DefaultTableModel esta null y getColumnas (), bien donde esta null, sería la parte que ocuparíamos para llenar la tabla de datos, pero aún no llegamos ahí y llamamos a getColumnas () si te das cuenta es una subClase de tipo String array donde especificamos el encabezado de cada columna. Además observa que tenemos otra subClase que se llama setFilas(), esta ahí porque al iniciar la clase va a ejecutar todo lo que este en setFilas() que es nuestro código que llenará la tabla de información (no importa si te da error, deja esa línea ya que si esa no se llenará el JTable). Ahora lo más importante, llenar la JTable de datos, para esto vamos a ver que tiene la subClase setFilas () que es la que llenará la JTable de información.
  • 7. EJEMPLOS Métodos para los suscriptores Para implementar los métodos de los suscriptores necesitamos que nuestro modelo tenga una lista de suscriptores y únicamente hay que añadir o borrar suscriptores de esa lista. El código puede ser tan simple como esto: class MiModelo implements TableModel { public void addTableModelListener (TableModelListenerl) { suscriptores.add (l); } public void removeTableModelListener (TableModelListener l) { suscriptores.remove(l);< BR > } private LinkedList suscriptores = new LinkedList(); }
  • 8. public Object getValueAt (int fila, int columna) { // Obtenemos la persona de la fila indicada Persona aux = (Persona)datos.get (fila); switch (columna) { // Nos piden el nombre case 0: return aux.nombre; break; // Nos piden el apellido case 1: return aux.apellido; break; // Nos piden la edad. case 2: return new Integer (aux.edad); break; } return null; } private LinkedList datos = new LinkedList(); } Metodos para manejo de los datos Para el manejode datos, sólo tenemos dos métodos. El que pone un dato enuna fila,columna y el que lo obtiene. Si seguimos con la idea de hacer unalista de personas, el código puede quedar como esto: class MiModelo implements TableModel { public void setValueAt (Object dato, int fila, int columna) { // Obtenemos la persona de la fila indicada Persona aux = (Persona)datos.get (fila); switch (columna) { // Nos pasan el nombre. case 0: aux.nombre = (String)dato; break; // Nos pasan el apellido. case 1: aux.apellido = (String)dato; break; // Nos pasan la edad. case 2: aux.edad = ((Integer)dato).intValue(); break; } // Aquí hay que avisar a los sucriptores del cambio. // Ver unpoco más abajo cómo. }