Foros del Web » Programación para mayores de 30 ;) » Java »

Como Refrescar jTable1 netbeans 6.8

Estas en el tema de Como Refrescar jTable1 netbeans 6.8 en el foro de Java en Foros del Web. Un saludo a todos y bueno quisiera que me pudieran decir como actualizar una tabla inmediatamente despues de poner un registro. Bueno tengo conectada la ...
  #1 (permalink)  
Antiguo 15/02/2010, 12:07
 
Fecha de Ingreso: febrero-2010
Mensajes: 6
Antigüedad: 14 años, 2 meses
Puntos: 0
Como Refrescar jTable1 netbeans 6.8

Un saludo a todos y bueno quisiera que me pudieran decir como actualizar una tabla inmediatamente despues de poner un registro.
Bueno tengo conectada la tabla que hice en netbeans a una base de datos en mysql y hace todo inserta, borra y actualiza pero no lo hace al momento que le doy aceptar solo aparecen los cambios cuando vulvo a correr el archivo, e leido que se puede hacer con un metodo llamado tablemodel o algo pero la verdad es que no se mucho de eso, quisiera que alguien me pudiese ayudar, les estaria muy agradecido si alguien me pudiera apoyar, pongo aqui el codigo:

No pongo todo el codigo porque son muchos caracteres,solo pongo lo importante no puse el codigo generado por netbeans, solo metodos y botones de accion.

package escuela;
import java.sql.*;
public class Alumno1 extends javax.swing.JFrame {

char estado;
Conexion cn;

/** Creates new form Alumno */
public Alumno1() {


initComponents();
deshabilitar();


}


public void deshabilitar (){
btnaceptar.setEnabled(false);
btncancelar.setEnabled(false);
txtIdAlumno.setEnabled(false);
txtnombre.setEnabled(false);
txtLicenciatura.setEnabled(false);
txtCuatrimestre.setEnabled(false);

}

public void habilitar (){
btnaceptar.setEnabled(true);
btncancelar.setEnabled(true);
txtIdAlumno.setEnabled(true);
txtnombre.setEnabled(true);
txtLicenciatura.setEnabled(true);
txtCuatrimestre.setEnabled(true);
}

public void desBotones(){
btnnuevo.setEnabled(false);
btnmodificar.setEnabled(false);
btneliminar.setEnabled(false);
}


public void habBotones(){
btnnuevo.setEnabled(true);
btnmodificar.setEnabled(true);
btneliminar.setEnabled(true);
}

private void btnmodificarActionPerformed(java.awt.event.ActionE vent evt) {

habilitar ();
estado='M';
desBotones();



// TODO add your handling code here:
}

private void btnnuevoActionPerformed(java.awt.event.ActionEvent evt) {

habilitar ();
estado='N';
desBotones();

// TODO add your handling code here:
}

private void btneliminarActionPerformed(java.awt.event.ActionEv ent evt) {

habilitar ();
estado='B';
desBotones();
// TODO add your handling code here:
}

private void btncancelarActionPerformed(java.awt.event.ActionEv ent evt) {

deshabilitar ();

habBotones();

// TODO add your handling code here:
}

private void btnaceptarActionPerformed(java.awt.event.ActionEve nt evt) {
// TODO add your handling code here:
String id=txtIdAlumno.getText();
String nom=txtnombre.getText();
String lic=txtLicenciatura.getText();
String cuatri=txtCuatrimestre.getText();





switch(estado){
case 'N':
try
{
cn=new Conexion();


Statement stmt=cn.getConnection().createStatement();
stmt.executeUpdate( "insert into alumno values('"+id +"','"+nom +"','"+lic+"','"+cuatri +"')");
stmt.close();
cn.Desconectar();




}
catch(Exception e2){
System.out.println(e2);

}
break;

case 'M':
try
{
cn=new Conexion();


Statement stmt=cn.getConnection().createStatement();
stmt.executeUpdate( "update alumno set Nombre='"+nom +"',Licenciatura='"+lic+"',cuatrimestre='"+cuat ri +"'where IdAlumno='"+id);
stmt.close();
cn.Desconectar();
}
catch(Exception e){
System.out.println(e);

}
break;

case 'B':
try
{
cn=new Conexion();


Statement stmt=cn.getConnection().createStatement();
stmt.executeUpdate( "delete from alumno where IdAlumno='"+id +"'");
stmt.close();
cn.Desconectar();
}
catch(Exception e){
System.out.println(e);

}
break;




}
}
  #2 (permalink)  
Antiguo 15/02/2010, 21:41
Avatar de pablor21  
Fecha de Ingreso: noviembre-2008
Ubicación: Montevideo - Uruguay
Mensajes: 197
Antigüedad: 15 años, 5 meses
Puntos: 13
Respuesta: Como Refrescar jTable1 netbeans 6.8

Hola cómo estás?

Te aconsejo que (para que el código sea más reutilizable) leas un poco sobre capas y patrones de diseño como mvc, factory, facade etc (lo encontrás con google, pero no es necesario q lo hagas ahora, sólo es para despertar tu curiosidad) o que por lo menos separes el código de acceso a la base de datos en una clase distinta... esto no quiere decir que esté mal lo que tenés hecho, sólo que no es lo que se estila...

aquí tienes un ejemplo de TableModel hay uno sencillo con DefaultTableModel y otro más completo con una implementación extendiendo de TableModel o AbstractTableModel

http://www.chuidiang.com/java/tablas/tablamodelo/tablamodelo.php

con eso ya tendrás el tableModel que contiene el control sobre la tabla.
Con el modelo lo que logras, es que al llenar el modelo con tus datos, la tabla se actualiza solita... y no tienes que hacer nada

Avisame si no entendés algo
  #3 (permalink)  
Antiguo 16/02/2010, 22:58
 
Fecha de Ingreso: febrero-2010
Mensajes: 6
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Como Refrescar jTable1 netbeans 6.8

Un saludo y gracias por responder pablo, lei sobe tablemodel y lo intente hacer en mi proyecto hice una nuevo instancia de JTableModel ,delcare un variable Tabla que la verdad mi duda es poruqe no se usa y me marca un error en amarillo, y aun asi me deja correr el archivo pero desafortunadamente me equivoque en algo y no se que es , corre normal como antes aun con las nuevas lienas de codigo que le implemente no pasa nada ni se actualiza la tabla, me prodrias decir fpor favro en que parte me equivoque (pongo el codigo para que ser un poco mas preciso)
Y gracias por tu ayuda eres muy amable.

private void btnaceptarActionPerformed(java.awt.event.ActionEve nt evt) {

String id=txtidalumno.getText();
String nom=txtnombre.getText();
String cua=txtcuatrimestre.getText();
String lic=txtlicenciatura.getText();






switch(estado){
case 'N':
try {
cn=new Conexion();


Statement stmt=cn.getConnection().createStatement();
stmt.executeUpdate( "insert into alumno values('"+id +"','"+nom +"','"+cua+"','"+lic+"')");

ResultSet rs = stmt.executeQuery("select *from alumno");

DefaultTableModel modelo = new DefaultTableModel();


JTable tabla = new JTable(modelo );



modelo.addColumn("IdAlumno");
modelo.addColumn("Nombre");
modelo.addColumn("Licenciatura");
modelo.addColumn("Cuatrimestre");

while (rs.next())
{

Object [] fila = new Object[4];

for (int i=0;i<4;i++)
fila[i] = rs.getObject(i+1);

modelo.addRow(fila);
}

ResultSetMetaData metaDatos = rs.getMetaData();


int numeroColumnas = metaDatos.getColumnCount();


Object[] etiquetas = new Object[numeroColumnas];

for (int i = 0; i < numeroColumnas; i++)
{

etiquetas[i] = metaDatos.getColumnLabel(i + 1);
}

stmt.close();
cn.Desconectar();
}


catch(Exception e2){
System.out.println(e2);

}
break;

case 'M':
try {
cn=new Conexion();


Statement stmt=cn.getConnection().createStatement();
stmt.executeUpdate( "update alumno set idalumno='"+id +"',nombre='"+nom+"',cuatrimestre='"+cua +"'where idalumno='"+id);
stmt.close();
cn.Desconectar();
} catch(Exception e){
System.out.println(e);

}
break;

case 'B':
try {
cn=new Conexion();


Statement stmt=cn.getConnection().createStatement();
stmt.executeUpdate( "delete from alumno where idalumno='"+id +"'");
stmt.close();
cn.Desconectar();
} catch(Exception e){
System.out.println(e);

}
break;





}


// TODO add your handling code here:
}
  #4 (permalink)  
Antiguo 16/02/2010, 23:56
Avatar de pablor21  
Fecha de Ingreso: noviembre-2008
Ubicación: Montevideo - Uruguay
Mensajes: 197
Antigüedad: 15 años, 5 meses
Puntos: 13
De acuerdo Respuesta: Como Refrescar jTable1 netbeans 6.8

hola!
prueba lo siguiente:
manten la declaracion de la tabla como variable de clase, y al inicializar no especifiques el modelo en el constructor.
lo mismo con el modelo, declaralo en la clase, y en el constuctor de la clase inicializalo poniendo sus columnas.

Al final del método que tenés para agregar las filas hacé lo siguiente
tabla.setModel(modelo);

Si aún así no funciona, al inicio del método agregá lo siguiente tabla.setModel(new DefaultTableModel());

Creo que debería funcionar...

Otra cosa, la consulta donde seleccionas los alumnos debe ser SELECT * FROM alumnos, te falta un espacio entre * y FROM

Cualquier cosa si aún así no te funciona, posteá todo el código donde manejas la tabla, me avisás e intento ayudarte más

  #5 (permalink)  
Antiguo 17/02/2010, 20:31
 
Fecha de Ingreso: febrero-2010
Mensajes: 6
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Como Refrescar jTable1 netbeans 6.8

Ke tal aqui estoy de nuevo, bueno realice lo que dijiste y al declarar las columnas para modelo en el constructor no me marca error pero cuando ejecuto el programa no me deja hice algo o no se porque cualdo quito esa parte del constuctor si me deja correrlo pero aun asi no se actualiza la tabla.
Pongo el codigo completo solo que lo pongo en dos porque es demasiado y no me deja ponerlo todo.Aqui lo pongo


package pruebas;
import java.sql.*;
import javax.swing.*;
import javax.swing.JTable.*;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;



import javax.swing.table.DefaultTableModel;


public class Alumno1 extends javax.swing.JFrame {


DefaultTableModel modelo;




JTable tabla;
char estado;
Conexion cn;








public Alumno1() {


modelo.addColumn("IdAlumno");
modelo.addColumn("Nombre");
modelo.addColumn("Licenciatura");
modelo.addColumn("Cuatrimestre");

initComponents();
deshabilitar ();

}


public void deshabilitar (){
btnaceptar.setEnabled(false);
btncancelar.setEnabled(false);
txtidalumno.setEnabled(false);
txtnombre.setEnabled(false);
txtcuatrimestre.setEnabled(false);
txtlicenciatura.setEnabled(false);


}

public void habilitar (){
btnaceptar.setEnabled(true);
btncancelar.setEnabled(true);

txtidalumno.setEnabled(true);
txtnombre.setEnabled(true);
txtcuatrimestre.setEnabled(true);
txtlicenciatura.setEnabled(true);

}

public void desBotones(){
btnnuevo.setEnabled(false);
btnmodificar.setEnabled(false);
btneliminar.setEnabled(false);
}


public void habBotones(){
btnnuevo.setEnabled(true);
btnmodificar.setEnabled(true);
btneliminar.setEnabled(true);
}


/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
bindingGroup = new org.jdesktop.beansbinding.BindingGroup();

escuelaPUEntityManager = java.beans.Beans.isDesignTime() ? null : javax.persistence.Persistence.createEntityManagerF actory("escuelaPU").createEntityManager();
alumnoQuery = java.beans.Beans.isDesignTime() ? null : escuelaPUEntityManager.createQuery("SELECT a FROM Alumno a");
alumnoList = java.beans.Beans.isDesignTime() ? java.util.Collections.emptyList() : alumnoQuery.getResultList();
jPanel1 = new javax.swing.JPanel();
jScrollPane1 = new javax.swing.JScrollPane();
jTable1 = new javax.swing.JTable();
jLabel1 = new javax.swing.JLabel();
txtidalumno = new javax.swing.JTextField();
txtnombre = new javax.swing.JTextField();
jLabel2 = new javax.swing.JLabel();
txtlicenciatura = new javax.swing.JTextField();
jLabel3 = new javax.swing.JLabel();
txtcuatrimestre = new javax.swing.JTextField();
jLabel4 = new javax.swing.JLabel();
btnnuevo = new javax.swing.JButton();
btncancelar = new javax.swing.JButton();
btneliminar = new javax.swing.JButton();
btnmodificar = new javax.swing.JButton();
btnaceptar = new javax.swing.JButton();

setDefaultCloseOperation(javax.swing.WindowConstan ts.EXIT_ON_CLOSE);
setName("Form"); // NOI18N

jPanel1.setName("jPanel1"); // NOI18N

jScrollPane1.setName("jScrollPane1"); // NOI18N

jTable1.setName("jTable1"); // NOI18N

org.jdesktop.swingbinding.JTableBinding jTableBinding = org.jdesktop.swingbinding.SwingBindings.createJTab leBinding(org.jdesktop.beansbinding.AutoBinding.Up dateStrategy.READ_WRITE, alumnoList, jTable1);
org.jdesktop.swingbinding.JTableBinding.ColumnBind ing columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansb inding.ELProperty.create("${idAlumno}"));
columnBinding.setColumnName("Id Alumno");
columnBinding.setColumnClass(String.class);
columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansb inding.ELProperty.create("${nombre}"));
columnBinding.setColumnName("Nombre");
columnBinding.setColumnClass(String.class);
columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansb inding.ELProperty.create("${licenciatura}"));
columnBinding.setColumnName("Licenciatura");
columnBinding.setColumnClass(String.class);
columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansb inding.ELProperty.create("${cuatrimestre}"));
columnBinding.setColumnName("Cuatrimestre");
columnBinding.setColumnClass(String.class);
bindingGroup.addBinding(jTableBinding);
jTableBinding.bind();
jTable1.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jTable1MouseClicked(evt);
}
});
jScrollPane1.setViewportView(jTable1);

org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(p ruebas.PruebasApp.class).getContext().getResourceM ap(Alumno1.class);
jLabel1.setText(resourceMap.getString("jLabel1.tex t")); // NOI18N
jLabel1.setName("jLabel1"); // NOI18N

txtidalumno.setText(resourceMap.getString("txtidal umno.text")); // NOI18N
txtidalumno.setName("txtidalumno"); // NOI18N
txtidalumno.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
txtidalumnoActionPerformed(evt);
}
});
  #6 (permalink)  
Antiguo 17/02/2010, 20:41
 
Fecha de Ingreso: febrero-2010
Mensajes: 6
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Como Refrescar jTable1 netbeans 6.8

Aqui pongo lo que falta del codigo y me marca con una raya amarilla dos variables que es la de tabla y modelo dice algo asi "local variable hides a field" espero me puedas decir cual es mi error y gracias por tu ayuda.



txtnombre.setText(resourceMap.getString("txtnombre .text")); // NOI18N
txtnombre.setName("txtnombre"); // NOI18N

jLabel2.setText(resourceMap.getString("jLabel2.tex t")); // NOI18N
jLabel2.setName("jLabel2"); // NOI18N

txtlicenciatura.setText(resourceMap.getString("txt licenciatura.text")); // NOI18N
txtlicenciatura.setName("txtlicenciatura"); // NOI18N

jLabel3.setText(resourceMap.getString("jLabel3.tex t")); // NOI18N
jLabel3.setName("jLabel3"); // NOI18N

txtcuatrimestre.setText(resourceMap.getString("txt cuatrimestre.text")); // NOI18N
txtcuatrimestre.setName("txtcuatrimestre"); // NOI18N

jLabel4.setText(resourceMap.getString("jLabel4.tex t")); // NOI18N
jLabel4.setName("jLabel4"); // NOI18N

btnnuevo.setText(resourceMap.getString("btnnuevo.t ext")); // NOI18N
btnnuevo.setName("btnnuevo"); // NOI18N
btnnuevo.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnnuevoActionPerformed(evt);
}
});

btncancelar.setText(resourceMap.getString("btncanc elar.text")); // NOI18N
btncancelar.setName("btncancelar"); // NOI18N
btncancelar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btncancelarActionPerformed(evt);
}
});

btneliminar.setText(resourceMap.getString("btnelim inar.text")); // NOI18N
btneliminar.setName("btneliminar"); // NOI18N
btneliminar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btneliminarActionPerformed(evt);
}
});

btnmodificar.setText(resourceMap.getString("btnmod ificar.text")); // NOI18N
btnmodificar.setName("btnmodificar"); // NOI18N
btnmodificar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnmodificarActionPerformed(evt);
}
});

btnaceptar.setText(resourceMap.getString("btnacept ar.text")); // NOI18N
btnaceptar.setName("btnaceptar"); // NOI18N
btnaceptar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnaceptarActionPerformed(evt);
}
});

javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.Grou pLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(51, 51, 51)
.addGroup(jPanel1Layout.createParallelGroup(javax. swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(137, 137, 137)
.addComponent(btnaceptar)
.addGap(50, 50, 50)
.addComponent(btncancelar)
.addPreferredGap(javax.swing.LayoutStyle.Component Placement.RELATED, 84, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax. swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.Component Placement.UNRELATED)
.addComponent(txtidalumno, javax.swing.GroupLayout.PREFERRED_SIZE, 269, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILI NG, jPanel1Layout.createSequentialGroup()
.addComponent(jLabel3)
.addPreferredGap(javax.swing.LayoutStyle.Component Placement.UNRELATED)
.addComponent(txtlicenciatura, javax.swing.GroupLayout.PREFERRED_SIZE, 269, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(jLabel2)
.addPreferredGap(javax.swing.LayoutStyle.Component Placement.UNRELATED)
.addComponent(txtnombre, javax.swing.GroupLayout.PREFERRED_SIZE, 269, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(1, 1, 1)
.addComponent(jLabel4)
.addPreferredGap(javax.swing.LayoutStyle.Component Placement.UNRELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax. swing.GroupLayout.Alignment.LEADING, false)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILI NG, jPanel1Layout.createSequentialGroup()
.addComponent(btnnuevo)
.addPreferredGap(javax.swing.LayoutStyle.Component Placement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(btnmodificar)
.addGap(72, 72, 72))
.addComponent(txtcuatrimestre, javax.swing.GroupLayout.PREFERRED_SIZE, 269, javax.swing.GroupLayout.PREFERRED_SIZE))))
.addPreferredGap(javax.swing.LayoutStyle.Component Placement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(btneliminar)))
.addGap(100, 100, 100))
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(35, 35, 35)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(81, Short.MAX_VALUE))
);
  #7 (permalink)  
Antiguo 17/02/2010, 20:45
 
Fecha de Ingreso: febrero-2010
Mensajes: 6
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Como Refrescar jTable1 netbeans 6.8

Una disculpa por tantas molestias pablo pero me fato codigo, pense que cabria en dos mensajes pero bueno ahora si pongo el final del codigo.

jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.Grou pLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILI NG, jPanel1Layout.createSequentialGroup()
.addGap(42, 42, 42)
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 257, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.Component Placement.UNRELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax. swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel1)
.addComponent(txtidalumno, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.Component Placement.UNRELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax. swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel2)
.addComponent(txtnombre, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(12, 12, 12)
.addGroup(jPanel1Layout.createParallelGroup(javax. swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel3)
.addComponent(txtlicenciatura, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.Component Placement.UNRELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax. swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel4)
.addComponent(txtcuatrimestre, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(26, 26, 26)
.addGroup(jPanel1Layout.createParallelGroup(javax. swing.GroupLayout.Alignment.BASELINE)
.addComponent(btneliminar)
.addComponent(btnmodificar)
.addComponent(btnnuevo))
.addGap(37, 37, 37)
.addGroup(jPanel1Layout.createParallelGroup(javax. swing.GroupLayout.Alignment.BASELINE)
.addComponent(btnaceptar)
.addComponent(btncancelar))
.addGap(46, 46, 46))
);

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout .Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_S IZE, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout .Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addContainerGap())
);

bindingGroup.bind();

pack();
}// </editor-fold>

private void txtidalumnoActionPerformed(java.awt.event.ActionEv ent evt) {
// TODO add your handling code here:
}

private void btnmodificarActionPerformed(java.awt.event.ActionE vent evt) {

habilitar ();
estado='M';
desBotones();



// TODO add your handling code here:
}

private void btnaceptarActionPerformed(java.awt.event.ActionEve nt evt) {




String id=txtidalumno.getText();
String nom=txtnombre.getText();
String cua=txtcuatrimestre.getText();
String lic=txtlicenciatura.getText();









switch(estado){



case 'N':
try {
cn=new Conexion();


Statement stmt=cn.getConnection().createStatement();
stmt.executeUpdate( "insert into alumno values('"+id +"','"+nom +"','"+cua+"','"+lic+"')");


ResultSet rs = stmt.executeQuery("SELECT * FROM ALUMNO;");
tabla.setModel(new DefaultTableModel());
DefaultTableModel modelo = new DefaultTableModel();
JTable tabla = new JTable(modelo );



modelo.addColumn("IdAlumno");
modelo.addColumn("Nombre");
modelo.addColumn("Licenciatura");
modelo.addColumn("Cuatrimestre");

while (rs.next())
{

Object [] fila = new Object[4];

for (int i=0;i<4;i++)
fila[i] = rs.getObject(i+1);

modelo.addRow(fila);
tabla.setModel(modelo);
}

ResultSetMetaData metaDatos = rs.getMetaData();


int numeroColumnas = metaDatos.getColumnCount();


Object[] etiquetas = new Object[numeroColumnas];

for (int i = 0; i < numeroColumnas; i++)
{

etiquetas[i] = metaDatos.getColumnLabel(i + 1);
}

stmt.close();
cn.Desconectar();
}


catch(Exception e2){
System.out.println(e2);

}
break;

case 'M':
try {
cn=new Conexion();


Statement stmt=cn.getConnection().createStatement();
stmt.executeUpdate( "update alumno set idalumno='"+id +"',nombre='"+nom+"',cuatrimestre='"+cua +"'where idalumno='"+id);
stmt.close();
cn.Desconectar();
} catch(Exception e){
System.out.println(e);

}
break;

case 'B':
try {
cn=new Conexion();


Statement stmt=cn.getConnection().createStatement();
stmt.executeUpdate( "delete from alumno where idalumno='"+id +"'");
stmt.close();
cn.Desconectar();
} catch(Exception e){
System.out.println(e);

}
break;





}


// TODO add your handling code here:
}

private void btnnuevoActionPerformed(java.awt.event.ActionEvent evt) {

habilitar();
estado='N';
desBotones();

// TODO add your handling code here:
}

private void btneliminarActionPerformed(java.awt.event.ActionEv ent evt) {

habilitar();
estado='B';
desBotones();

// TODO add your handling code here:
}

private void btncancelarActionPerformed(java.awt.event.ActionEv ent evt) {

deshabilitar();

habBotones();

// TODO add your handling code here:
}

private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {

int fila=jTable1.rowAtPoint(evt.getPoint());
txtidalumno.setText((String)jTable1.getValueAt(fil a, 0));
txtnombre.setText((String)jTable1.getValueAt(fila, 1));
txtlicenciatura.setText((String)jTable1.getValueAt (fila, 2));
txtcuatrimestre.setText((String)jTable1.getValueAt (fila, 3));






// TODO add your handling code here:
}

/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Alumno1().setVisible(true);
}
});
}

// Variables declaration - do not modify
private java.util.List<pruebas.Alumno> alumnoList;
private javax.persistence.Query alumnoQuery;
private javax.swing.JButton btnaceptar;
private javax.swing.JButton btncancelar;
private javax.swing.JButton btneliminar;
private javax.swing.JButton btnmodificar;
private javax.swing.JButton btnnuevo;
private javax.persistence.EntityManager escuelaPUEntityManager;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JPanel jPanel1;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTable jTable1;
private javax.swing.JTextField txtcuatrimestre;
private javax.swing.JTextField txtidalumno;
private javax.swing.JTextField txtlicenciatura;
private javax.swing.JTextField txtnombre;
private org.jdesktop.beansbinding.BindingGroup bindingGroup;
// End of variables declaration

}
  #8 (permalink)  
Antiguo 18/02/2010, 02:54
Avatar de pablor21  
Fecha de Ingreso: noviembre-2008
Ubicación: Montevideo - Uruguay
Mensajes: 197
Antigüedad: 15 años, 5 meses
Puntos: 13
Sonrisa Respuesta: Como Refrescar jTable1 netbeans 6.8

Hola! Tu código tiene un problema, es que estás declarando dos veces las variables tabla y modelo. Por eso te pone un WARNING, la declaras como variable de clase y luego dentro del método, dentro de ese método esta variable oculta a la variable de clase por cuestion de alcance, por eso en realidad tu código hace lo mismo que antes... en el método no debes hacer un new de la tabla, porque debe ser la misma que ya tienes, vuelve a mi mensaje anterior y prueba de nuevo, pero sin declarar nuevamente las variables tabla y modelo.
Realmente no pude probar tu código porque es demasiado y hace referencia a otras clases... si aún así no funciona intentaremos de otro modo...
Saludos
  #9 (permalink)  
Antiguo 19/02/2010, 09:04
 
Fecha de Ingreso: febrero-2010
Mensajes: 6
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Como Refrescar jTable1 netbeans 6.8

Una disculpa por la demora pero es que tuve algunos problemas, hice lo dedeclarar las variables de clase en el constructor puse las columnas a modelo quite las declaraciones repetidas y aun asi no me funciona, no se si se pueda hacer de otra manera diferente a esta por que lo he intentado de mil maneras y no consigo nada.
Un saludo
  #10 (permalink)  
Antiguo 22/02/2010, 10:15
Avatar de pablor21  
Fecha de Ingreso: noviembre-2008
Ubicación: Montevideo - Uruguay
Mensajes: 197
Antigüedad: 15 años, 5 meses
Puntos: 13
Respuesta: Como Refrescar jTable1 netbeans 6.8

Hola, disculpa la demora, pero estaba de vacaciones unos dìas.
Quizàs puedas mandarme el còdigo y ver què anda mal, porque la verdad no se me ocurre otra cosa...
èste es mi mail [email protected]

Saludos

  #11 (permalink)  
Antiguo 22/02/2010, 10:31
Avatar de pablor21  
Fecha de Ingreso: noviembre-2008
Ubicación: Montevideo - Uruguay
Mensajes: 197
Antigüedad: 15 años, 5 meses
Puntos: 13
Respuesta: Como Refrescar jTable1 netbeans 6.8

otra, prueba haciendo miTabla.updateUI()...

Etiquetas: jtable, netbeans, refrescar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:10.