SlideShare una empresa de Scribd logo
ESCUELA PROFESIONAL DE
INGENIERÍA DE SISTEMAS Y TELEMÁTICA
CONTROL JTABLE CON BASE DE DATOS
ÁREA : Desarrollo de Software I.
DOCENTE : Ing. Marco Aurelio Porro Chulli.
ESTUDIANTES :
•Ocaña Bueno Lisbeth.
•Herrera Silva Carlos Jhónatan.
CICLO : V
GRUPO : “A”
Bagua Grande, Noviembre del 2016
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.
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.
Definición:
CONTROL JTABLE CON BASE DE DATOS:
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".
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.
TABLE MODEL:
¿ES EDITABLE O NO?:
JTable tiene una característica muy
llamativa, este permite que el
programador pueda decidir que se
edita y que no, sin embargo, si el
programador dentro de su
programa o de su TABLEMODEL
no tiene determinado este aspecto,
JTable automáticamente hace
editable las celdas dentro de la
tabla.
Existen varias maneras de hacer
editable o no las celdas dentro de
la tabla, para ver estos comandos
tú te puedes dirigir a Dentro de las
celdas encontradas en una tabla
se puede permitir al usuario editar
o no editar según lo desee el
programador, esta propiedad se
puede arreglar desde el table
model o directamente y/o desde el
programa. JTable tiene la
propiedad de dejar editable las
celdas si no encuentra nada que
hable de esto.
JTable te brinda muchas facilidades para poder crear una table, y así mismo de llenarla con la
información que desees ( números, letras etc...) por lo que sencillamente dentro de una tabla está
automáticamente a través de la información debidamente separada - por ""(comillas) o por , (coma) -
es capaz de contabilizarlas y al mismo tiempo llenarla con la información que se le dio; es decir el
programador solo se debe encargar de poner los títulos de las tablas y así mismo de escribir la
información en el mismo orden en que desee que salga de acuerdo con los títulos y JTable se
encargara automáticamente de colocar la información donde se le indico.
¿Y LA INFORMACIÓN, Y LAS COLUMNAS?:
PROPIEDADES:
La forma más sencilla de usar un JTable y tener toda su funcionalidad es instanciar un DefaultTableModel y meterlo en el JTable, en el
constructor
DefaultTableModel modelo = new DefaultTableModel();
JTable tabla = new JTable(modelo);
Podemos añadir columnas directamente en el modelo
modelo.addColumn("etiqueta columna 1");
modelo.addColumn("etiqueta columna 2");
Podemos añadir datos directamente en el modelo, así como borrarlos o modificarlos.
Object [] fila = new Object[2];
fila[0] = "dato columna 1";
fila[1] = "dato columna 3";
modelo.addRow ( fila ); // Añade una fila al final
modelo.setValueAt ("nuevo valor", 0, 1); // Cambia el valor de la fila 1, columna 2.
modelo.removeRow (0); // Borra la primera fila
Todo lo que hagamos se reflejará de inmediato en el JTable.
Obtener fila y columna del JTable en la que se hace click
A veces nos interesa seleccionar una fila del JTable para hacer algo con ella (sacar un menú, recoger datos para mostrarlos en otro
sitio, etc).
Una forma de hacerlo es añadiendo un MouseListener al JTable, de esta manera
tabla.addMouseListener(new MouseAdapter()
{
public void mouseClicked(MouseEvent e)
{
int fila = tabla.rowAtPoint(e.getPoint());
int columna = tabla.columnAtPoint(e.getPoint());
if ((fila > -1) && (columna > -1))
System.out.println(modelo.getValueAt(fila,columna));
}
});
Hemos añadido un MouseAdapter para no tener que implementar todos los métodos del MouseListener.
Con el método tabla.rowAtPoint() es posible enterarnos en qué fila de del JTable ha ocurrido el evento del ratón (el click en
este caso). Para ello basta llamar a este método pasándole las coordenadas x,y del evento de ratón, que se obtienen con
el método e.getPoint().
Una vez que sabemos la fila, debemos comprobar si es mayor que -1. El método rowAtPoint() nos devuelve -1 si
pinchamos en el JTable, pero fuera de cualquier fila. Es el caso de que el JTable tenga un tamaño en pixels superior al que
le corresponde según su número de filas.
Lo mismo vale para columnAtPoint().
Una vez que tenemos la fila y sabemos que no es -1, es fácil a través del modelo obtener los datos correspondientes. En
este caso se escribe por pantalla con un System.out.prinln() el valor de la fila y columna que se ha seleccionado.
Hacer que una celda del JTable no sea editable.
Si usamos DefaultTableModel las celdas del JTable son editables por defecto. A veces esto no nos interesa y JTable no
tiene métodos para impedirlo. La forma de decidir qué celdas son o no editables es hacer nuestro propio modelo de datos,
nuestro TableModel. La forma sencilla de hacerlo es heredar de DefaultTableModel y redefinir el método isCellEditable()
para que sirva a nuestros propósitos.
public class MiModelo extends DefaultTableModel
{
public boolean isCellEditable (int row, int column)
{
// Aquí devolvemos true o false según queramos que una celda
// identificada por fila,columna (row,column), sea o no editable
if (column == 3)
return true;
return false;
}
}
En este ejemplo, hemos creado nuestro propio modelo de datos que hace que la columna 4 (los índices empiezan en cero) de la
tabla sea editable y el resto no. Ahora simplemente instanciamos el JTable usando este modelo y rellenamos los datos igual que
antes.
MiModelo modelo = new MiModelo();
JTable tabla = new JTable(modelo);
Cambiar el tipo de dato con DefaultTableModel
DefaultTableModel por defecto le dice al JTable que todos los datos que tiene son Object. A veces, porque queramos cambiar el
TableCellRenderer o cualquier otro motivo, nos interesa que determinadas columnas se consideren como Boolean, como Integer o
cualquier otro tipo de dato.
Para modificar esto, tenemos que crearnos nuestro propio modelo de Datos. La forma más sencilla es heredar de DefaultTableModel
y redefinir el método getColumnClass().
public class MiModelo extends DefaultTableModel
{
/** Primera columna Boolean, segunda Integer y el resto Object */
public Class getColumnClass(int columna)
{
if (columna == 0) return Boolean.class;
if (columna == 1) return Integer.class;
return Object.class;
}
}
En el ejemplo se ha hecho que la primera columna sea de Boolean, la segunda de Integer y el resto de Object.
Una cosa curiosa de los Boolean, es que el JTable al pintarlos los pone como JCheckBox.
Hacer visible una fila concreta del JTable dentro de un JScrollPane
Para que un JTable tenga barras de scroll y tenga una "cabecera" con las etiquetas de las columnas, es necesario meterla en un
JScrollPane. Esto se puede hacer de dos formas.
JTable tabla = new JTable();
JScrollPane scroll = new JScrollPane(tabla);
o bien
JTable tabla = new JTable();
JScrollPane scroll = new JScrollPane();
scroll.setViewportView(tabla);
es bastante habitual al principio equivocarse y usar el método add(), que NO funcionará correctamente
JTable tabla = new JTable();
JScrollPane scroll = new JScrollPane();
// Esto NO funciona.
scroll.add(tabla);
Cuando
tenemos un JTable metido dentro de un JScrollPane, a veces queremos que las barras de scroll se desplacen para que una
determinada celda sea visible.
No conozco una forma inmediata de hacerlo, pero una posible solución es esta.
// Nos devuelve la posición en pixels de una celda en fila,columna
Rectangle r = tabla.getCellRect( fila, columna, true);
// Mueve el scroll para que el rectángulo sea visible
scrollPane.getViewport().scrollRectToVisible (r);
La JTable controla cómo se presentan los datos, siendo el TableModel quien controla los datos en sí mismos. Para crear una JTable
habrá pues que crear un TableModel antes, normalmente. Se puede implementar, para ello, el interfaz TableModel, pero es mucho
más simple heredar de la clase ayuda AbstractTableModel.
EJEMPLO:
public class Ejm1_LlenarJTableDesdeDataBase extends JFrame{
DefaultTableModel dtmEjemplo;
JTable tblEjemplo;
JScrollPane scpEjemplo;
public Ejm1_LlenarJTableDesdeDataBase()
{
tblEjemplo = new JTable();
scpEjemplo= new JScrollPane();
//Llenamos el modelo
dtmEjemplo = new DefaultTableModel(null,getColumnas());
setFilas();
tblEjemplo.setModel(dtmEjemplo);
scpEjemplo.add(tblEjemplo);
this.add(scpEjemplo);
this.setSize(500, 200);
scpEjemplo.setViewportView(tblEjemplo);
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
}
//Encabezados de la tabla
private String[] getColumnas()
{
String columna[]=new String[]{"Columna1","Columna2","Columna3"};
return columna;
}
private void setFilas()
{
//Conectar a PostgreSQL
Ejm1_ConectarPostgreSQL cnndb = new Ejm11_ConectarPostgreSQL();
CachedRowSet crs = cnndb.Function("SELECT deptno, dname, loc FROM dept");
Object datos[]=new Object[3];
//Numero de columnas de la tabla
try {
while (crs.next()) {
for (int i = 0; i < 3; i++) {
datos[i] = crs.getObject(i + 1);
}
dtmEjemplo.addRow(datos);
}
crs.close();
} catch (Exception e)
}
}
public static void main(String args[]) {
Ejm1_LlenarJTableDesdeDataBase obj1 = new
Ejm1_LlenarJTableDesdeDataBase();
obj1.setVisible(true);
}
}
CONCLUCIÓN:
Existe una clase llamada JTable que permite crear objetos con forma de tabla.
Estos objetos son ideales para mostrar el contenido de las tablas de una base de datos,
aunque pueden ser usados de forma independiente también para mostrar cualquier tipo de
datos.
Los objetos del tipo JTable contienen un modelo de datos de tipo DefaultTableModel.
Cada vez que se quiera trabajar con una tabla será necesario construir su modelo y
asignárselo a la tabla.
Cada vez que se quiera modificar de alguna forma los datos de una tabla, será necesario
acceder a su modelo y trabajar con él.
A través del modelo de una tabla podemos añadir nuevas filas a la tabla, eliminar filas,
extraer datos de las celdas de la tabla o añadir datos a las celdas de la tabla.
La creación de tablas se convierte en una tarea sencilla cuando comenzamos a conocer las
clases auxiliares que la acompañan para mejorar su rendimiento y eficiencia; la finalidad de
este trabajo de investigación es precisamente empezar a familiarizarse con estas clases.

Más contenido relacionado

La actualidad más candente

Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...
Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...
Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...
José Antonio Sandoval Acosta
 
Tutorial de MySQL
Tutorial de MySQLTutorial de MySQL
Tutorial de MySQL
Estephania Villarreal
 
UML
UMLUML
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamiento
Lalo Chooper
 
Consultas básicas en sql server
Consultas básicas en sql serverConsultas básicas en sql server
Consultas básicas en sql server
Rodrigo Alfaro Pinto
 
Sistema Cableado Estructurado.pptx
Sistema Cableado Estructurado.pptxSistema Cableado Estructurado.pptx
Sistema Cableado Estructurado.pptx
GhinoAranda1
 
Informe ponchado cable utp (2)
Informe ponchado cable utp (2)Informe ponchado cable utp (2)
Informe ponchado cable utp (2)
maclaf
 
6. cable directo, cruzado y rollover
6.  cable directo, cruzado y rollover6.  cable directo, cruzado y rollover
6. cable directo, cruzado y rollover
Akashi Yuurei
 
Taller de Base de datos - Unidad 1 SGBD introduccion
Taller de Base de datos - Unidad 1 SGBD introduccionTaller de Base de datos - Unidad 1 SGBD introduccion
Taller de Base de datos - Unidad 1 SGBD introduccion
José Antonio Sandoval Acosta
 
Constraints (restricciones).pptx
Constraints (restricciones).pptxConstraints (restricciones).pptx
Constraints (restricciones).pptx
NahumNegrete
 
Analisis de la independencia logica fisica de datos en un sistema de bases de...
Analisis de la independencia logica fisica de datos en un sistema de bases de...Analisis de la independencia logica fisica de datos en un sistema de bases de...
Analisis de la independencia logica fisica de datos en un sistema de bases de...
Maria Garcia
 
Normas de cableado UTP
Normas de cableado UTPNormas de cableado UTP
Normas de cableado UTP
Lenin Fabricio
 
informe de Laboratorio como ponchar un cable utp
informe de Laboratorio  como  ponchar un cable utp informe de Laboratorio  como  ponchar un cable utp
informe de Laboratorio como ponchar un cable utp
lina_paola_ruiz_gonzalez
 
Exposicion base de datos DB2-IBM
Exposicion base de datos DB2-IBMExposicion base de datos DB2-IBM
Exposicion base de datos DB2-IBM
Jacob Gómez
 
Como ponchar cable utp
Como ponchar cable utpComo ponchar cable utp
Como ponchar cable utpJohn Mandon
 
Manual de-usuario-de-enterprise-architect
Manual de-usuario-de-enterprise-architectManual de-usuario-de-enterprise-architect
Manual de-usuario-de-enterprise-architect
Norali Velazquez Soriano
 
Comandos ddl y dml
Comandos ddl y dmlComandos ddl y dml
Comandos ddl y dmlGerardo
 
Forma normal de boyce codd y algoritmos de descomposición
Forma normal de boyce codd y algoritmos de descomposiciónForma normal de boyce codd y algoritmos de descomposición
Forma normal de boyce codd y algoritmos de descomposición
Juan Anaya
 

La actualidad más candente (20)

Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...
Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...
Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...
 
Tutorial de MySQL
Tutorial de MySQLTutorial de MySQL
Tutorial de MySQL
 
UML
UMLUML
UML
 
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamiento
 
Consultas básicas en sql server
Consultas básicas en sql serverConsultas básicas en sql server
Consultas básicas en sql server
 
Sistema Cableado Estructurado.pptx
Sistema Cableado Estructurado.pptxSistema Cableado Estructurado.pptx
Sistema Cableado Estructurado.pptx
 
Pasos para hacer un patch cord
Pasos para hacer un patch cordPasos para hacer un patch cord
Pasos para hacer un patch cord
 
Informe ponchado cable utp (2)
Informe ponchado cable utp (2)Informe ponchado cable utp (2)
Informe ponchado cable utp (2)
 
6. cable directo, cruzado y rollover
6.  cable directo, cruzado y rollover6.  cable directo, cruzado y rollover
6. cable directo, cruzado y rollover
 
Taller de Base de datos - Unidad 1 SGBD introduccion
Taller de Base de datos - Unidad 1 SGBD introduccionTaller de Base de datos - Unidad 1 SGBD introduccion
Taller de Base de datos - Unidad 1 SGBD introduccion
 
Constraints (restricciones).pptx
Constraints (restricciones).pptxConstraints (restricciones).pptx
Constraints (restricciones).pptx
 
Analisis de la independencia logica fisica de datos en un sistema de bases de...
Analisis de la independencia logica fisica de datos en un sistema de bases de...Analisis de la independencia logica fisica de datos en un sistema de bases de...
Analisis de la independencia logica fisica de datos en un sistema de bases de...
 
Normas de cableado UTP
Normas de cableado UTPNormas de cableado UTP
Normas de cableado UTP
 
informe de Laboratorio como ponchar un cable utp
informe de Laboratorio  como  ponchar un cable utp informe de Laboratorio  como  ponchar un cable utp
informe de Laboratorio como ponchar un cable utp
 
Exposicion base de datos DB2-IBM
Exposicion base de datos DB2-IBMExposicion base de datos DB2-IBM
Exposicion base de datos DB2-IBM
 
Como ponchar cable utp
Como ponchar cable utpComo ponchar cable utp
Como ponchar cable utp
 
Manual de-usuario-de-enterprise-architect
Manual de-usuario-de-enterprise-architectManual de-usuario-de-enterprise-architect
Manual de-usuario-de-enterprise-architect
 
Comandos ddl y dml
Comandos ddl y dmlComandos ddl y dml
Comandos ddl y dml
 
Sql presentacion
Sql presentacionSql presentacion
Sql presentacion
 
Forma normal de boyce codd y algoritmos de descomposición
Forma normal de boyce codd y algoritmos de descomposiciónForma normal de boyce codd y algoritmos de descomposición
Forma normal de boyce codd y algoritmos de descomposición
 

Destacado

Gemidos e palavras
Gemidos e palavrasGemidos e palavras
HJH_AMM_COSPAR_2016-Final
HJH_AMM_COSPAR_2016-FinalHJH_AMM_COSPAR_2016-Final
HJH_AMM_COSPAR_2016-FinalHans Haubold
 
1 acta constitucion junta delegados
1 acta constitucion junta delegados1 acta constitucion junta delegados
1 acta constitucion junta delegadosAndyAustrich
 
REDES SOCIALES
REDES SOCIALESREDES SOCIALES
REDES SOCIALES
Joselyn cadena
 
Evaluacion de informatica ilovepdf-compressed (1)
Evaluacion de informatica ilovepdf-compressed (1)Evaluacion de informatica ilovepdf-compressed (1)
Evaluacion de informatica ilovepdf-compressed (1)
Anderson Echeverria
 
Vida Despues De la Vida
Vida Despues De la VidaVida Despues De la Vida
Vida Despues De la Vida
Daniel J Alejos C
 
Visita a Humanes
Visita a HumanesVisita a Humanes
Visita a Humanes
Nombre Apellidos
 
Reasons Why it is Beneficial to Invest in Republic of Kosovo
Reasons Why it is Beneficial to Invest in Republic of KosovoReasons Why it is Beneficial to Invest in Republic of Kosovo
Reasons Why it is Beneficial to Invest in Republic of Kosovo
nakije.kida
 
Desastres
DesastresDesastres
Desastres
jael arcos
 
Origen de las obligaciones
Origen de las obligacionesOrigen de las obligaciones
Origen de las obligaciones
Alejandra Castillo
 
International%20Security%20Portfolio
International%20Security%20PortfolioInternational%20Security%20Portfolio
International%20Security%20PortfolioEllis Deuchar
 
Huracán otto
Huracán ottoHuracán otto
Huracán otto
guisen he
 
Acta cen 5 2014
Acta cen 5 2014Acta cen 5 2014
Acta cen 5 2014
vidasindical
 

Destacado (13)

Gemidos e palavras
Gemidos e palavrasGemidos e palavras
Gemidos e palavras
 
HJH_AMM_COSPAR_2016-Final
HJH_AMM_COSPAR_2016-FinalHJH_AMM_COSPAR_2016-Final
HJH_AMM_COSPAR_2016-Final
 
1 acta constitucion junta delegados
1 acta constitucion junta delegados1 acta constitucion junta delegados
1 acta constitucion junta delegados
 
REDES SOCIALES
REDES SOCIALESREDES SOCIALES
REDES SOCIALES
 
Evaluacion de informatica ilovepdf-compressed (1)
Evaluacion de informatica ilovepdf-compressed (1)Evaluacion de informatica ilovepdf-compressed (1)
Evaluacion de informatica ilovepdf-compressed (1)
 
Vida Despues De la Vida
Vida Despues De la VidaVida Despues De la Vida
Vida Despues De la Vida
 
Visita a Humanes
Visita a HumanesVisita a Humanes
Visita a Humanes
 
Reasons Why it is Beneficial to Invest in Republic of Kosovo
Reasons Why it is Beneficial to Invest in Republic of KosovoReasons Why it is Beneficial to Invest in Republic of Kosovo
Reasons Why it is Beneficial to Invest in Republic of Kosovo
 
Desastres
DesastresDesastres
Desastres
 
Origen de las obligaciones
Origen de las obligacionesOrigen de las obligaciones
Origen de las obligaciones
 
International%20Security%20Portfolio
International%20Security%20PortfolioInternational%20Security%20Portfolio
International%20Security%20Portfolio
 
Huracán otto
Huracán ottoHuracán otto
Huracán otto
 
Acta cen 5 2014
Acta cen 5 2014Acta cen 5 2014
Acta cen 5 2014
 

Similar a JTABLE

Presentación1
Presentación1Presentación1
Yanina
YaninaYanina
Jtable
JtableJtable
Control JTable con base de datos
Control JTable con base de datosControl JTable con base de datos
Control JTable con base de datos
Jhon Carlos Zambrano Goicochea
 
Control JTable con Base de Datos
Control JTable con Base de DatosControl JTable con Base de Datos
Control JTable con Base de Datos
jhersi saavedra garcia
 
J table
J tableJ table
CONTROL JTABLE CON BASE DE DATOS
CONTROL JTABLE CON BASE DE DATOSCONTROL JTABLE CON BASE DE DATOS
CONTROL JTABLE CON BASE DE DATOS
INGRID LESLY CORONEL ACUÑA
 
Jtableconbasededatos
JtableconbasededatosJtableconbasededatos
Jtableconbasededatos
Gómez Albino
 
Universidad politecnica amazonica
Universidad politecnica amazonicaUniversidad politecnica amazonica
Universidad politecnica amazonica
Fiorella Aguilar Isuiza
 
Control jTable con Base de Datos
Control jTable con Base de DatosControl jTable con Base de Datos
Control jTable con Base de Datos
Geyser Angaspilco Montenegro
 
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
JhiZzelh T Cz
 
Jtableconbasededatos
JtableconbasededatosJtableconbasededatos
Jtableconbasededatos
noemimosquedachappa
 
Control jtable con base de datos
Control jtable con base de datosControl jtable con base de datos
Control jtable con base de datos
GREINDER MARCHENA & LIZ VASQUEZ
 
Control jtable con base de datos
Control jtable con base de datosControl jtable con base de datos
Control jtable con base de datos
Patricia Reyna
 
Diapositivas de jtable java
Diapositivas de jtable javaDiapositivas de jtable java
Diapositivas de jtable java
Vilma Anali Pardo Suárez
 
Control jtable
Control jtableControl jtable
Control jtable con base de datos
Control jtable con base de datosControl jtable con base de datos
Control jtable con base de datos
Yanella Correa Berru
 
Control JTable con Base de Datos
Control JTable con Base de DatosControl JTable con Base de Datos
Control JTable con Base de Datos
Jhosy2404
 
J table con base de datos
J table con base de datosJ table con base de datos
J table con base de datos
Magaly Portocarrero Labajos
 

Similar a JTABLE (20)

Presentación1
Presentación1Presentación1
Presentación1
 
Yanina
YaninaYanina
Yanina
 
Jtable
JtableJtable
Jtable
 
Control JTable con base de datos
Control JTable con base de datosControl JTable con base de datos
Control JTable 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
 
J table
J tableJ table
J table
 
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
 
Universidad politecnica amazonica
Universidad politecnica amazonicaUniversidad politecnica amazonica
Universidad politecnica amazonica
 
Jtable 1
Jtable 1Jtable 1
Jtable 1
 
Control jTable con Base de Datos
Control jTable con Base de DatosControl jTable con Base de Datos
Control jTable con Base de Datos
 
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
 
Jtableconbasededatos
JtableconbasededatosJtableconbasededatos
Jtableconbasededatos
 
Control jtable con base de datos
Control jtable con base de datosControl jtable con base de datos
Control jtable 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
 
Diapositivas de jtable java
Diapositivas de jtable javaDiapositivas de jtable java
Diapositivas de jtable java
 
Control jtable
Control jtableControl jtable
Control jtable
 
Control jtable con base de datos
Control jtable con base de datosControl jtable con base de datos
Control jtable 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
 
J table con base de datos
J table con base de datosJ table con base de datos
J table con base de datos
 

Más de Lisbeth Ocaña Bueno

OLAP - Procesamiento Analítico en Línea.
OLAP - Procesamiento Analítico en Línea.OLAP - Procesamiento Analítico en Línea.
OLAP - Procesamiento Analítico en Línea.
Lisbeth Ocaña Bueno
 
COPIA DE SEGURIDAD Y RESTAURACIÓN.
COPIA DE SEGURIDAD Y RESTAURACIÓN.COPIA DE SEGURIDAD Y RESTAURACIÓN.
COPIA DE SEGURIDAD Y RESTAURACIÓN.
Lisbeth Ocaña Bueno
 
TRANSACCIONES
TRANSACCIONESTRANSACCIONES
TRANSACCIONES
Lisbeth Ocaña Bueno
 
TRIGGERS O DISPARADORES
TRIGGERS O DISPARADORESTRIGGERS O DISPARADORES
TRIGGERS O DISPARADORES
Lisbeth Ocaña Bueno
 
CURSORES EN SQL SERVER
CURSORES EN SQL SERVERCURSORES EN SQL SERVER
CURSORES EN SQL SERVER
Lisbeth Ocaña Bueno
 
PROCEDIMIENTOS ALMACENADOS
PROCEDIMIENTOS ALMACENADOSPROCEDIMIENTOS ALMACENADOS
PROCEDIMIENTOS ALMACENADOS
Lisbeth Ocaña Bueno
 
Comandos DDL
Comandos DDLComandos DDL
Comandos DDL
Lisbeth Ocaña Bueno
 
VISTAS
VISTASVISTAS
LENGUAJE TRANSACT - SQL
LENGUAJE TRANSACT - SQLLENGUAJE TRANSACT - SQL
LENGUAJE TRANSACT - SQL
Lisbeth Ocaña Bueno
 
Ejecutables en Netbeans
Ejecutables en NetbeansEjecutables en Netbeans
Ejecutables en Netbeans
Lisbeth Ocaña Bueno
 
REPORTES
REPORTESREPORTES
Objeto sqlcommand
Objeto sqlcommandObjeto sqlcommand
Objeto sqlcommand
Lisbeth Ocaña Bueno
 
OBJETO CONNECTION
OBJETO CONNECTIONOBJETO CONNECTION
OBJETO CONNECTION
Lisbeth Ocaña Bueno
 
ESPACIO DE NOMBRES SYSTEM.DATA.SQLCLIENT
ESPACIO DE NOMBRES SYSTEM.DATA.SQLCLIENTESPACIO DE NOMBRES SYSTEM.DATA.SQLCLIENT
ESPACIO DE NOMBRES SYSTEM.DATA.SQLCLIENT
Lisbeth Ocaña Bueno
 
Ado.net
Ado.netAdo.net
Gestor de Base de Datos.
Gestor de Base de Datos.Gestor de Base de Datos.
Gestor de Base de Datos.
Lisbeth Ocaña Bueno
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
Lisbeth Ocaña Bueno
 
Aplicaciones n capas en visual.net
Aplicaciones n capas en visual.netAplicaciones n capas en visual.net
Aplicaciones n capas en visual.net
Lisbeth Ocaña Bueno
 
Prepared statement
Prepared statementPrepared statement
Prepared statement
Lisbeth Ocaña Bueno
 
RESULTSET
RESULTSETRESULTSET

Más de Lisbeth Ocaña Bueno (20)

OLAP - Procesamiento Analítico en Línea.
OLAP - Procesamiento Analítico en Línea.OLAP - Procesamiento Analítico en Línea.
OLAP - Procesamiento Analítico en Línea.
 
COPIA DE SEGURIDAD Y RESTAURACIÓN.
COPIA DE SEGURIDAD Y RESTAURACIÓN.COPIA DE SEGURIDAD Y RESTAURACIÓN.
COPIA DE SEGURIDAD Y RESTAURACIÓN.
 
TRANSACCIONES
TRANSACCIONESTRANSACCIONES
TRANSACCIONES
 
TRIGGERS O DISPARADORES
TRIGGERS O DISPARADORESTRIGGERS O DISPARADORES
TRIGGERS O DISPARADORES
 
CURSORES EN SQL SERVER
CURSORES EN SQL SERVERCURSORES EN SQL SERVER
CURSORES EN SQL SERVER
 
PROCEDIMIENTOS ALMACENADOS
PROCEDIMIENTOS ALMACENADOSPROCEDIMIENTOS ALMACENADOS
PROCEDIMIENTOS ALMACENADOS
 
Comandos DDL
Comandos DDLComandos DDL
Comandos DDL
 
VISTAS
VISTASVISTAS
VISTAS
 
LENGUAJE TRANSACT - SQL
LENGUAJE TRANSACT - SQLLENGUAJE TRANSACT - SQL
LENGUAJE TRANSACT - SQL
 
Ejecutables en Netbeans
Ejecutables en NetbeansEjecutables en Netbeans
Ejecutables en Netbeans
 
REPORTES
REPORTESREPORTES
REPORTES
 
Objeto sqlcommand
Objeto sqlcommandObjeto sqlcommand
Objeto sqlcommand
 
OBJETO CONNECTION
OBJETO CONNECTIONOBJETO CONNECTION
OBJETO CONNECTION
 
ESPACIO DE NOMBRES SYSTEM.DATA.SQLCLIENT
ESPACIO DE NOMBRES SYSTEM.DATA.SQLCLIENTESPACIO DE NOMBRES SYSTEM.DATA.SQLCLIENT
ESPACIO DE NOMBRES SYSTEM.DATA.SQLCLIENT
 
Ado.net
Ado.netAdo.net
Ado.net
 
Gestor de Base de Datos.
Gestor de Base de Datos.Gestor 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
 
Aplicaciones n capas en visual.net
Aplicaciones n capas en visual.netAplicaciones n capas en visual.net
Aplicaciones n capas en visual.net
 
Prepared statement
Prepared statementPrepared statement
Prepared statement
 
RESULTSET
RESULTSETRESULTSET
RESULTSET
 

Último

TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptxTECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
KatiuskaDominguez2
 
PC-04-DISEÑOS DE PITS Y STOPES DE UNA MINA A TAJO ABIERTO.pdf
PC-04-DISEÑOS DE PITS Y STOPES DE UNA MINA A TAJO ABIERTO.pdfPC-04-DISEÑOS DE PITS Y STOPES DE UNA MINA A TAJO ABIERTO.pdf
PC-04-DISEÑOS DE PITS Y STOPES DE UNA MINA A TAJO ABIERTO.pdf
JhenryHuisa1
 
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJECONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
SamuelGampley
 
Arquitectura de Sistema de Reservaciones
Arquitectura de Sistema de ReservacionesArquitectura de Sistema de Reservaciones
Arquitectura de Sistema de Reservaciones
AlanL15
 
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdfIntroducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
AbbieDominguezGirond
 
primer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporteprimer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporte
eliersin13
 

Último (6)

TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptxTECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
 
PC-04-DISEÑOS DE PITS Y STOPES DE UNA MINA A TAJO ABIERTO.pdf
PC-04-DISEÑOS DE PITS Y STOPES DE UNA MINA A TAJO ABIERTO.pdfPC-04-DISEÑOS DE PITS Y STOPES DE UNA MINA A TAJO ABIERTO.pdf
PC-04-DISEÑOS DE PITS Y STOPES DE UNA MINA A TAJO ABIERTO.pdf
 
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJECONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
 
Arquitectura de Sistema de Reservaciones
Arquitectura de Sistema de ReservacionesArquitectura de Sistema de Reservaciones
Arquitectura de Sistema de Reservaciones
 
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdfIntroducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
 
primer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporteprimer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporte
 

JTABLE

  • 1. ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS Y TELEMÁTICA CONTROL JTABLE CON BASE DE DATOS ÁREA : Desarrollo de Software I. DOCENTE : Ing. Marco Aurelio Porro Chulli. ESTUDIANTES : •Ocaña Bueno Lisbeth. •Herrera Silva Carlos Jhónatan. CICLO : V GRUPO : “A” Bagua Grande, Noviembre del 2016
  • 2. 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. 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. Definición: CONTROL JTABLE CON BASE DE DATOS:
  • 3. 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".
  • 4. 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. TABLE MODEL:
  • 5. ¿ES EDITABLE O NO?: JTable tiene una característica muy llamativa, este permite que el programador pueda decidir que se edita y que no, sin embargo, si el programador dentro de su programa o de su TABLEMODEL no tiene determinado este aspecto, JTable automáticamente hace editable las celdas dentro de la tabla. Existen varias maneras de hacer editable o no las celdas dentro de la tabla, para ver estos comandos tú te puedes dirigir a Dentro de las celdas encontradas en una tabla se puede permitir al usuario editar o no editar según lo desee el programador, esta propiedad se puede arreglar desde el table model o directamente y/o desde el programa. JTable tiene la propiedad de dejar editable las celdas si no encuentra nada que hable de esto.
  • 6. JTable te brinda muchas facilidades para poder crear una table, y así mismo de llenarla con la información que desees ( números, letras etc...) por lo que sencillamente dentro de una tabla está automáticamente a través de la información debidamente separada - por ""(comillas) o por , (coma) - es capaz de contabilizarlas y al mismo tiempo llenarla con la información que se le dio; es decir el programador solo se debe encargar de poner los títulos de las tablas y así mismo de escribir la información en el mismo orden en que desee que salga de acuerdo con los títulos y JTable se encargara automáticamente de colocar la información donde se le indico. ¿Y LA INFORMACIÓN, Y LAS COLUMNAS?:
  • 7. PROPIEDADES: La forma más sencilla de usar un JTable y tener toda su funcionalidad es instanciar un DefaultTableModel y meterlo en el JTable, en el constructor DefaultTableModel modelo = new DefaultTableModel(); JTable tabla = new JTable(modelo); Podemos añadir columnas directamente en el modelo modelo.addColumn("etiqueta columna 1"); modelo.addColumn("etiqueta columna 2"); Podemos añadir datos directamente en el modelo, así como borrarlos o modificarlos. Object [] fila = new Object[2]; fila[0] = "dato columna 1"; fila[1] = "dato columna 3";
  • 8. modelo.addRow ( fila ); // Añade una fila al final modelo.setValueAt ("nuevo valor", 0, 1); // Cambia el valor de la fila 1, columna 2. modelo.removeRow (0); // Borra la primera fila Todo lo que hagamos se reflejará de inmediato en el JTable. Obtener fila y columna del JTable en la que se hace click A veces nos interesa seleccionar una fila del JTable para hacer algo con ella (sacar un menú, recoger datos para mostrarlos en otro sitio, etc). Una forma de hacerlo es añadiendo un MouseListener al JTable, de esta manera tabla.addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent e) { int fila = tabla.rowAtPoint(e.getPoint()); int columna = tabla.columnAtPoint(e.getPoint()); if ((fila > -1) && (columna > -1)) System.out.println(modelo.getValueAt(fila,columna)); } });
  • 9. Hemos añadido un MouseAdapter para no tener que implementar todos los métodos del MouseListener. Con el método tabla.rowAtPoint() es posible enterarnos en qué fila de del JTable ha ocurrido el evento del ratón (el click en este caso). Para ello basta llamar a este método pasándole las coordenadas x,y del evento de ratón, que se obtienen con el método e.getPoint(). Una vez que sabemos la fila, debemos comprobar si es mayor que -1. El método rowAtPoint() nos devuelve -1 si pinchamos en el JTable, pero fuera de cualquier fila. Es el caso de que el JTable tenga un tamaño en pixels superior al que le corresponde según su número de filas. Lo mismo vale para columnAtPoint(). Una vez que tenemos la fila y sabemos que no es -1, es fácil a través del modelo obtener los datos correspondientes. En este caso se escribe por pantalla con un System.out.prinln() el valor de la fila y columna que se ha seleccionado. Hacer que una celda del JTable no sea editable. Si usamos DefaultTableModel las celdas del JTable son editables por defecto. A veces esto no nos interesa y JTable no tiene métodos para impedirlo. La forma de decidir qué celdas son o no editables es hacer nuestro propio modelo de datos, nuestro TableModel. La forma sencilla de hacerlo es heredar de DefaultTableModel y redefinir el método isCellEditable() para que sirva a nuestros propósitos.
  • 10. public class MiModelo extends DefaultTableModel { public boolean isCellEditable (int row, int column) { // Aquí devolvemos true o false según queramos que una celda // identificada por fila,columna (row,column), sea o no editable if (column == 3) return true; return false; } } En este ejemplo, hemos creado nuestro propio modelo de datos que hace que la columna 4 (los índices empiezan en cero) de la tabla sea editable y el resto no. Ahora simplemente instanciamos el JTable usando este modelo y rellenamos los datos igual que antes. MiModelo modelo = new MiModelo(); JTable tabla = new JTable(modelo); Cambiar el tipo de dato con DefaultTableModel DefaultTableModel por defecto le dice al JTable que todos los datos que tiene son Object. A veces, porque queramos cambiar el TableCellRenderer o cualquier otro motivo, nos interesa que determinadas columnas se consideren como Boolean, como Integer o cualquier otro tipo de dato. Para modificar esto, tenemos que crearnos nuestro propio modelo de Datos. La forma más sencilla es heredar de DefaultTableModel y redefinir el método getColumnClass().
  • 11. public class MiModelo extends DefaultTableModel { /** Primera columna Boolean, segunda Integer y el resto Object */ public Class getColumnClass(int columna) { if (columna == 0) return Boolean.class; if (columna == 1) return Integer.class; return Object.class; } } En el ejemplo se ha hecho que la primera columna sea de Boolean, la segunda de Integer y el resto de Object. Una cosa curiosa de los Boolean, es que el JTable al pintarlos los pone como JCheckBox. Hacer visible una fila concreta del JTable dentro de un JScrollPane Para que un JTable tenga barras de scroll y tenga una "cabecera" con las etiquetas de las columnas, es necesario meterla en un JScrollPane. Esto se puede hacer de dos formas. JTable tabla = new JTable(); JScrollPane scroll = new JScrollPane(tabla); o bien JTable tabla = new JTable();
  • 12. JScrollPane scroll = new JScrollPane(); scroll.setViewportView(tabla); es bastante habitual al principio equivocarse y usar el método add(), que NO funcionará correctamente JTable tabla = new JTable(); JScrollPane scroll = new JScrollPane(); // Esto NO funciona. scroll.add(tabla); Cuando tenemos un JTable metido dentro de un JScrollPane, a veces queremos que las barras de scroll se desplacen para que una determinada celda sea visible. No conozco una forma inmediata de hacerlo, pero una posible solución es esta. // Nos devuelve la posición en pixels de una celda en fila,columna Rectangle r = tabla.getCellRect( fila, columna, true); // Mueve el scroll para que el rectángulo sea visible scrollPane.getViewport().scrollRectToVisible (r); La JTable controla cómo se presentan los datos, siendo el TableModel quien controla los datos en sí mismos. Para crear una JTable habrá pues que crear un TableModel antes, normalmente. Se puede implementar, para ello, el interfaz TableModel, pero es mucho más simple heredar de la clase ayuda AbstractTableModel.
  • 13. EJEMPLO: public class Ejm1_LlenarJTableDesdeDataBase extends JFrame{ DefaultTableModel dtmEjemplo; JTable tblEjemplo; JScrollPane scpEjemplo; public Ejm1_LlenarJTableDesdeDataBase() { tblEjemplo = new JTable(); scpEjemplo= new JScrollPane(); //Llenamos el modelo dtmEjemplo = new DefaultTableModel(null,getColumnas()); setFilas(); tblEjemplo.setModel(dtmEjemplo); scpEjemplo.add(tblEjemplo); this.add(scpEjemplo); this.setSize(500, 200); scpEjemplo.setViewportView(tblEjemplo); setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); } //Encabezados de la tabla private String[] getColumnas() {
  • 14. String columna[]=new String[]{"Columna1","Columna2","Columna3"}; return columna; } private void setFilas() { //Conectar a PostgreSQL Ejm1_ConectarPostgreSQL cnndb = new Ejm11_ConectarPostgreSQL(); CachedRowSet crs = cnndb.Function("SELECT deptno, dname, loc FROM dept"); Object datos[]=new Object[3]; //Numero de columnas de la tabla try { while (crs.next()) { for (int i = 0; i < 3; i++) { datos[i] = crs.getObject(i + 1); } dtmEjemplo.addRow(datos); } crs.close(); } catch (Exception e) } } public static void main(String args[]) { Ejm1_LlenarJTableDesdeDataBase obj1 = new Ejm1_LlenarJTableDesdeDataBase(); obj1.setVisible(true); } }
  • 15. CONCLUCIÓN: Existe una clase llamada JTable que permite crear objetos con forma de tabla. Estos objetos son ideales para mostrar el contenido de las tablas de una base de datos, aunque pueden ser usados de forma independiente también para mostrar cualquier tipo de datos. Los objetos del tipo JTable contienen un modelo de datos de tipo DefaultTableModel. Cada vez que se quiera trabajar con una tabla será necesario construir su modelo y asignárselo a la tabla. Cada vez que se quiera modificar de alguna forma los datos de una tabla, será necesario acceder a su modelo y trabajar con él. A través del modelo de una tabla podemos añadir nuevas filas a la tabla, eliminar filas, extraer datos de las celdas de la tabla o añadir datos a las celdas de la tabla. La creación de tablas se convierte en una tarea sencilla cuando comenzamos a conocer las clases auxiliares que la acompañan para mejorar su rendimiento y eficiencia; la finalidad de este trabajo de investigación es precisamente empezar a familiarizarse con estas clases.