SlideShare una empresa de Scribd logo
Objeto Jtable.
Objeto jtable manipulación de datos multidimensionales
Aplicando el objeto jtable en un caso específico.
Recuerda asignar un nombre de variable a cada uno de los objetos, para efectos del ejercicio
de este proyecto se ha asignado los siguientes nombres de variable a los objetos, ver cuadros
de color negro.
Codificación. Lo que más nos gusta hacer.
package clasesmetodos;
import javax.swing.JOptionPane;
import javax.swing.table.*;
import javax.swing.*;
jtxtalumno
public class Jtable extends javax.swing.JFrame { //clase principal
double nbI, nbII, nproyecto, promedio;
String estado; int total;
DefaultTableModel dm;
DefaultTableModel contenedor=new DefaultTableModel();DefaultTableModel dm;
DefaultTableModel contenedor=new DefaultTableModel();
public Jtable() {
initComponents();
String titulos[]={"Apellidos y Nombres", "I Unidad", "II Unidad",
“Proyecto","Promedio","Turno"};
contenedor.setColumnIdentifiers(titulos);
this.jtable.setModel(contenedor);
this.setLocationRelativeTo(this);
}
public void desactivar()//método para desactivar los objetos
{
this.jtxtalumno.setEnabled(false);
this.jtxtunidadI.setEnabled(false);
this.jtxtUnidadII.setEnabled(false);
this.jtxtProyecto.setEnabled(false);
this.jcboSeccion.setEnabled(false);
}
public void activar()//método para activar los objetos
{
this.jtxtalumno.setEnabled(true);
this.jtxtunidadI.setEnabled(true);
this.jtxtUnidadII.setEnabled(true);
this.jtxtProyecto.setEnabled(true);
this.jcboSeccion.setEnabled(true);
}
Declaración de
variables y
definición de
modelos para
trabajar con la
tabla.
Inicializamos
los títulos de la
tabla en el
constructor de
la clase.
Método que
me permite
desactivar los
objetos.
Método que
me permite
activar los
objetos.
public void limpiar()//método para limpiar e inicializar los objetos
{
this.jtxtalumno.setText("");
this.jtxtunidadI.setText("");
this.jtxtUnidadII.setText("");
this.jtxtProyecto.setText("");
this.jcboSeccion.setSelectedIndex(0);
}
private void jbtnAgregarActionPerformed(java.awt.event.ActionEvent evt) {
String datos[]=new String[7]
boolean verificardatos;
nbI=Double.parseDouble(this.jtxtunidadI.getText());
nbII=Double.parseDouble(this.jtxtUnidadII.getText());
nproyecto=Double.parseDouble(this.jtxtProyecto.getText());
verificardatos=this.jtxtalumno.getText().equals("")||this.jtxtUnidadII.
getText().equals("") ||this.jtxtProyecto.getText().equals("");
verificardatos=verificardatos||this.jcboSeccion.getSelectedIndex()==0;
if(!verificardatos)
{
promedio=(nbI+nbII+nproyecto)/3;
if(promedio>=11){
estado="Aprobado";
}else{
estado="Desaprobado";
}
datos[0]=this.jtxtalumno.getText();
datos[1]=(String)this.jcboSeccion.getSelectedItem();
datos[2]=this.jtxtunidadI.getText();
datos[3]=this.jtxtUnidadII.getText();
datos[4]=this.jtxtProyecto.getText();
datos[5]=String.valueOf(promedio);
datos[5]=String.valueOf(estado);
contenedor.addRow(datos);
}else{
JOptionPane.showMessageDialog(null, "Falta algún Dato");
}
total=this.jtable.getRowCount();
this.jtxtCantEstud.setText(String.valueOf(total));
limpiar();//limpiamos las cajas de texto e inicializamos el combo al índex 0
desactivar();//desactivamos los objetos para obligar al usuario a presionar el botón nuevo
para ingresar nuevos valores
this.jbtnAgregar.setEnabled(false);
this.jbtnNuevo.setEnabled(true);
this.jbtnEliminar.setEnabled(true);
this.jbtnLimTabla.setEnabled(true);
}
Método que
me permite
limpiar los
objetos y
reinicializar la
posición del
combo
Programación
del botón
agregar un
elemento a la
tabla.
private void jbtnEliminarActionPerformed(java.awt.event.ActionEvent evt) {
int fila;
fila=jtable.getSelectedRow();
if(fila>=0)
{
contenedor.removeRow(fila);
}else{
JOptionPane.showMessageDialog(null, "Selecciona una fila para eliminar");
}
total=contenedor.getRowCount();
this.jtxtCantEstud.setText(String.valueOf(total));
}
private void jbtnLimTablaActionPerformed(java.awt.event.ActionEvent evt) {
int filas;
try{
filas=contenedor.getRowCount();
for (int i = 0;filas>i; i++) {
contenedor.removeRow(0);
}
} catch(Exception e) {
JOptionPane.showMessageDialog(null, "Error al limpiar la tabla");
}
}
private void jbtnNuevoActionPerformed(java.awt.event.ActionEvent evt) {
activar();
limpiar();
this.jbtnAgregar.setEnabled(true);
this.jbtnNuevo.setEnabled(false);
this.jbtnEliminar.setEnabled(false);
this.jbtnLimTabla.setEnabled(false);
// TODO add your handling code here:
}
//Método que permite manipular la tabla para realizar la búsqueda.
private void buscar(String consulta, JTable jtable){
dm = (DefaultTableModel) jtable.getModel();//recuerda que la variable dm se creó en la parte
superior de la clase.
TableRowSorter<DefaultTableModel> tr = new TableRowSorter<>(dm);
jtable.setRowSorter(tr);
tr.setRowFilter(RowFilter.regexFilter(consulta));
//private TableRowSorter trsFiltro;
}
Programación
del botón
eliminar, para
eliminar un
elemento de la
tabla.
Programación
del botón
limpiar Tabla,
para limpiar
todos los
elemento de la
tabla.
Programación
del botón
nuevo, para
limpiar todos
los elementos
de ingreso de
datos y activar
o desactivar
los objetos.
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
buscar(this.jtxtBuscar.getText(), this.jtable); //invocamos al método.
}
private void formWindowActivated(java.awt.event.WindowEvent evt) {
limpiar();
desactivar();
this.jbtnAgregar.setEnabled(false);
this.jbtnNuevo.setEnabled(true);
}
Bibliografía
chuwiki. (2015). Obtenido de
http://chuwiki.chuidiang.org/index.php?title=JTable:_Ordenar_y_filtrar_filas
Merino, F. (2016). linuxgx. Obtenido de https://linuxgx.blogspot.pe/2016/08/filtrar-datos-de-
un-jtable-partir-de.html
Código que se
ejecutará
cuando se
active el
formulario.

Más contenido relacionado

PPTX
Control jtable con base de datos
PPTX
Control jtable con base de datos
PDF
Manuales seminario java-manualdejava-sem 3 - 4
DOCX
Metodologia para resolver problemas con Programacion orientada a Objetos
DOCX
Primer programa documentado de algebra
DOCX
codigos de algunas pantallas
PDF
Tutorial JPA Parte 1 : CRUD BASICO CON JPA Y SWING en NETBEANS
DOCX
Apunte de instrucciones de scratch
Control jtable con base de datos
Control jtable con base de datos
Manuales seminario java-manualdejava-sem 3 - 4
Metodologia para resolver problemas con Programacion orientada a Objetos
Primer programa documentado de algebra
codigos de algunas pantallas
Tutorial JPA Parte 1 : CRUD BASICO CON JPA Y SWING en NETBEANS
Apunte de instrucciones de scratch

La actualidad más candente (7)

DOCX
3 desarollo manejo datos capitulo 4 -02 aplicaciones colecciones
PPT
Manejo de Eventos en java
PPSX
Persistencia De Objetos(Hibernate)
PPSX
Java Persistence Api (Jpa)
PDF
Presentación 13 Paso por referencia
DOC
Codigo De Las Clases Del Proyecto
PDF
Presentación 09 Cajas blanca
3 desarollo manejo datos capitulo 4 -02 aplicaciones colecciones
Manejo de Eventos en java
Persistencia De Objetos(Hibernate)
Java Persistence Api (Jpa)
Presentación 13 Paso por referencia
Codigo De Las Clases Del Proyecto
Presentación 09 Cajas blanca
Publicidad

Similar a Objeto jtable manipulación de datos multidimensionales (20)

PDF
Tips componentes swing_v5
DOCX
Ejemplo j internalframe_gine
PDF
Semana 5 Java Swing
PPTX
PPTX
PDF
Java::Acceso a Bases de Datos
PDF
Taller de repaso de metodos y arreglos
DOCX
PPTX
Control jtable con base de datos
PPTX
5. Gestores de Posicionamiento - Eventos.pptx
PDF
Swing
 
DOCX
Presentacion
PPTX
Manejo de eventos en java
PDF
Curso java desde cero nivel i - modulo v
PDF
U5. Arreglos de Objetos.pdf
DOCX
Codigo ejercicios
PDF
Curso java 6
DOCX
3 desarollo manejo datos capitulo 3 -01 arreglo objetos
PPTX
Programa arreglos 2
PDF
Guia5 java
Tips componentes swing_v5
Ejemplo j internalframe_gine
Semana 5 Java Swing
Java::Acceso a Bases de Datos
Taller de repaso de metodos y arreglos
Control jtable con base de datos
5. Gestores de Posicionamiento - Eventos.pptx
Swing
 
Presentacion
Manejo de eventos en java
Curso java desde cero nivel i - modulo v
U5. Arreglos de Objetos.pdf
Codigo ejercicios
Curso java 6
3 desarollo manejo datos capitulo 3 -01 arreglo objetos
Programa arreglos 2
Guia5 java
Publicidad

Más de Levi Ronald Castro Fernández (16)

PPTX
Ínstitucionalidad democrática- grupal (1).pptx
DOCX
Proyecto de innovacion aula virtual con moodle
PDF
Guía de usuario docente aula virtual
PDF
Tecnologías de la Información y Comunicación
PDF
CALIDAD DE VIDA Y LA PROBLEMÁTICA AMBIENTAL
PDF
Comercio electrónico
PDF
Comprimir fotos y referencias b ibliogràficas
PDF
Crear programa mata virus
PDF
Proyecto de innovación Laptop XO en las aulas
PDF
Mostrar archivos ocultos provocado por virus
PPTX
Las innovaciones pedagógicas
PDF
Proyecto de innovación
PDF
Guía de estudio de Microsfot Word 2010
PDF
Base de datos con microsoft acces 2007
PDF
Elaboración de una tarjeta en microsoft word
Ínstitucionalidad democrática- grupal (1).pptx
Proyecto de innovacion aula virtual con moodle
Guía de usuario docente aula virtual
Tecnologías de la Información y Comunicación
CALIDAD DE VIDA Y LA PROBLEMÁTICA AMBIENTAL
Comercio electrónico
Comprimir fotos y referencias b ibliogràficas
Crear programa mata virus
Proyecto de innovación Laptop XO en las aulas
Mostrar archivos ocultos provocado por virus
Las innovaciones pedagógicas
Proyecto de innovación
Guía de estudio de Microsfot Word 2010
Base de datos con microsoft acces 2007
Elaboración de una tarjeta en microsoft word

Último (20)

PDF
ACERTIJO Súper Círculo y la clave contra el Malvado Señor de las Formas. Por ...
DOCX
PROYECTO DE APRENDIZAJE para la semana de fiestas patrias
PDF
Salvese Quien Pueda - Andres Oppenheimer Ccesa007.pdf
PDF
La Evaluacion Formativa en Nuevos Escenarios de Aprendizaje UGEL03 Ccesa007.pdf
PDF
Habitos de Ricos - Juan Diego Gomez Ccesa007.pdf
PDF
Unidad de Aprendizaje 5 de Educacion para el Trabajo EPT Ccesa007.pdf
PDF
Gasista de unidades unifuncionales - pagina 23 en adelante.pdf
DOCX
2 GRADO UNIDAD 5 - 2025.docx para primaria
DOCX
Informe_practica pre Final.docxddadssasdddddddddddddddddddddddddddddddddddddddd
PDF
Integrando la Inteligencia Artificial Generativa (IAG) en el Aula
DOCX
III Ciclo _ Plan Anual 2025.docx PARA ESTUDIANTES DE PRIMARIA
PPTX
AGENTES PATÓGENOS Y LAS PRINCIPAL ENFERMEAD.pptx
PDF
5°-UNIDAD 5 - 2025.pdf aprendizaje 5tooo
PDF
Guia de Tesis y Proyectos de Investigacion FS4 Ccesa007.pdf
PDF
Crear o Morir - Andres Oppenheimer Ccesa007.pdf
DOCX
V UNIDAD - SEGUNDO GRADO. del mes de agosto
PDF
IDH_Guatemala_2.pdfnjjjkeioooe ,l dkdldp ekooe
PDF
Atencion prenatal. Ginecologia y obsetricia
PPTX
Presentación de la Cetoacidosis diabetica.pptx
PDF
COMUNICACION EFECTIVA PARA LA EDUCACION .pdf
ACERTIJO Súper Círculo y la clave contra el Malvado Señor de las Formas. Por ...
PROYECTO DE APRENDIZAJE para la semana de fiestas patrias
Salvese Quien Pueda - Andres Oppenheimer Ccesa007.pdf
La Evaluacion Formativa en Nuevos Escenarios de Aprendizaje UGEL03 Ccesa007.pdf
Habitos de Ricos - Juan Diego Gomez Ccesa007.pdf
Unidad de Aprendizaje 5 de Educacion para el Trabajo EPT Ccesa007.pdf
Gasista de unidades unifuncionales - pagina 23 en adelante.pdf
2 GRADO UNIDAD 5 - 2025.docx para primaria
Informe_practica pre Final.docxddadssasdddddddddddddddddddddddddddddddddddddddd
Integrando la Inteligencia Artificial Generativa (IAG) en el Aula
III Ciclo _ Plan Anual 2025.docx PARA ESTUDIANTES DE PRIMARIA
AGENTES PATÓGENOS Y LAS PRINCIPAL ENFERMEAD.pptx
5°-UNIDAD 5 - 2025.pdf aprendizaje 5tooo
Guia de Tesis y Proyectos de Investigacion FS4 Ccesa007.pdf
Crear o Morir - Andres Oppenheimer Ccesa007.pdf
V UNIDAD - SEGUNDO GRADO. del mes de agosto
IDH_Guatemala_2.pdfnjjjkeioooe ,l dkdldp ekooe
Atencion prenatal. Ginecologia y obsetricia
Presentación de la Cetoacidosis diabetica.pptx
COMUNICACION EFECTIVA PARA LA EDUCACION .pdf

Objeto jtable manipulación de datos multidimensionales

  • 3. Aplicando el objeto jtable en un caso específico. Recuerda asignar un nombre de variable a cada uno de los objetos, para efectos del ejercicio de este proyecto se ha asignado los siguientes nombres de variable a los objetos, ver cuadros de color negro. Codificación. Lo que más nos gusta hacer. package clasesmetodos; import javax.swing.JOptionPane; import javax.swing.table.*; import javax.swing.*; jtxtalumno
  • 4. public class Jtable extends javax.swing.JFrame { //clase principal double nbI, nbII, nproyecto, promedio; String estado; int total; DefaultTableModel dm; DefaultTableModel contenedor=new DefaultTableModel();DefaultTableModel dm; DefaultTableModel contenedor=new DefaultTableModel(); public Jtable() { initComponents(); String titulos[]={"Apellidos y Nombres", "I Unidad", "II Unidad", “Proyecto","Promedio","Turno"}; contenedor.setColumnIdentifiers(titulos); this.jtable.setModel(contenedor); this.setLocationRelativeTo(this); } public void desactivar()//método para desactivar los objetos { this.jtxtalumno.setEnabled(false); this.jtxtunidadI.setEnabled(false); this.jtxtUnidadII.setEnabled(false); this.jtxtProyecto.setEnabled(false); this.jcboSeccion.setEnabled(false); } public void activar()//método para activar los objetos { this.jtxtalumno.setEnabled(true); this.jtxtunidadI.setEnabled(true); this.jtxtUnidadII.setEnabled(true); this.jtxtProyecto.setEnabled(true); this.jcboSeccion.setEnabled(true); } Declaración de variables y definición de modelos para trabajar con la tabla. Inicializamos los títulos de la tabla en el constructor de la clase. Método que me permite desactivar los objetos. Método que me permite activar los objetos.
  • 5. public void limpiar()//método para limpiar e inicializar los objetos { this.jtxtalumno.setText(""); this.jtxtunidadI.setText(""); this.jtxtUnidadII.setText(""); this.jtxtProyecto.setText(""); this.jcboSeccion.setSelectedIndex(0); } private void jbtnAgregarActionPerformed(java.awt.event.ActionEvent evt) { String datos[]=new String[7] boolean verificardatos; nbI=Double.parseDouble(this.jtxtunidadI.getText()); nbII=Double.parseDouble(this.jtxtUnidadII.getText()); nproyecto=Double.parseDouble(this.jtxtProyecto.getText()); verificardatos=this.jtxtalumno.getText().equals("")||this.jtxtUnidadII. getText().equals("") ||this.jtxtProyecto.getText().equals(""); verificardatos=verificardatos||this.jcboSeccion.getSelectedIndex()==0; if(!verificardatos) { promedio=(nbI+nbII+nproyecto)/3; if(promedio>=11){ estado="Aprobado"; }else{ estado="Desaprobado"; } datos[0]=this.jtxtalumno.getText(); datos[1]=(String)this.jcboSeccion.getSelectedItem(); datos[2]=this.jtxtunidadI.getText(); datos[3]=this.jtxtUnidadII.getText(); datos[4]=this.jtxtProyecto.getText(); datos[5]=String.valueOf(promedio); datos[5]=String.valueOf(estado); contenedor.addRow(datos); }else{ JOptionPane.showMessageDialog(null, "Falta algún Dato"); } total=this.jtable.getRowCount(); this.jtxtCantEstud.setText(String.valueOf(total)); limpiar();//limpiamos las cajas de texto e inicializamos el combo al índex 0 desactivar();//desactivamos los objetos para obligar al usuario a presionar el botón nuevo para ingresar nuevos valores this.jbtnAgregar.setEnabled(false); this.jbtnNuevo.setEnabled(true); this.jbtnEliminar.setEnabled(true); this.jbtnLimTabla.setEnabled(true); } Método que me permite limpiar los objetos y reinicializar la posición del combo Programación del botón agregar un elemento a la tabla.
  • 6. private void jbtnEliminarActionPerformed(java.awt.event.ActionEvent evt) { int fila; fila=jtable.getSelectedRow(); if(fila>=0) { contenedor.removeRow(fila); }else{ JOptionPane.showMessageDialog(null, "Selecciona una fila para eliminar"); } total=contenedor.getRowCount(); this.jtxtCantEstud.setText(String.valueOf(total)); } private void jbtnLimTablaActionPerformed(java.awt.event.ActionEvent evt) { int filas; try{ filas=contenedor.getRowCount(); for (int i = 0;filas>i; i++) { contenedor.removeRow(0); } } catch(Exception e) { JOptionPane.showMessageDialog(null, "Error al limpiar la tabla"); } } private void jbtnNuevoActionPerformed(java.awt.event.ActionEvent evt) { activar(); limpiar(); this.jbtnAgregar.setEnabled(true); this.jbtnNuevo.setEnabled(false); this.jbtnEliminar.setEnabled(false); this.jbtnLimTabla.setEnabled(false); // TODO add your handling code here: } //Método que permite manipular la tabla para realizar la búsqueda. private void buscar(String consulta, JTable jtable){ dm = (DefaultTableModel) jtable.getModel();//recuerda que la variable dm se creó en la parte superior de la clase. TableRowSorter<DefaultTableModel> tr = new TableRowSorter<>(dm); jtable.setRowSorter(tr); tr.setRowFilter(RowFilter.regexFilter(consulta)); //private TableRowSorter trsFiltro; } Programación del botón eliminar, para eliminar un elemento de la tabla. Programación del botón limpiar Tabla, para limpiar todos los elemento de la tabla. Programación del botón nuevo, para limpiar todos los elementos de ingreso de datos y activar o desactivar los objetos.
  • 7. private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) { buscar(this.jtxtBuscar.getText(), this.jtable); //invocamos al método. } private void formWindowActivated(java.awt.event.WindowEvent evt) { limpiar(); desactivar(); this.jbtnAgregar.setEnabled(false); this.jbtnNuevo.setEnabled(true); } Bibliografía chuwiki. (2015). Obtenido de http://chuwiki.chuidiang.org/index.php?title=JTable:_Ordenar_y_filtrar_filas Merino, F. (2016). linuxgx. Obtenido de https://linuxgx.blogspot.pe/2016/08/filtrar-datos-de- un-jtable-partir-de.html Código que se ejecutará cuando se active el formulario.