Resetear JTable en netbeans

Iniciado por Xedrox, 21 Noviembre 2010, 05:47 AM

0 Miembros y 1 Visitante están viendo este tema.

Xedrox

Hola que tal, tengo un "JTable" al cual reseteo su información en la siguiente funcion:


public FramePrincipal()
    {
        initComponents();
        String[] columnas={"Columna 1","Columna 2"};
        String[][] info={{"prueba","2"},{"prueba","3"}};
        jTable1=new JTable(info,columnas);
        setVisible(true);
    }


El nombre de la tabla "jTable1" lo puso el código auto generado del NetBeans, por eso lo llamo con ese nombre desde el constructor de la ventana.

El problema es que al ejecutar esto los cambios no se ven en la tabla, es el NetBeans lo que molesta?

sapito169

#1
es el NetBeans lo que molesta
estas programando en java nada mas netbeans no tiene absoluta mente nada que ver cuanto menos te interese el ide mas vas a mejorar

netbeans tiene esa forma de trabajar tan fea y estorbosa
primero columnas e info deben ser variables globales luego
escoge el jtable (cuidado con escoger es jscroollpane que lo contiene) y pon en code que esta al costado de events y prueba con todas las opciones asta que te permita editar el codigo del constructor y pones el codigo que quieras

otra forma mas facil y practica es que crees primero el modelo instanciando un DefaultableModel o cualquier implementacion de TableModel y luego en las propiedades del jtable buscas una que diga modelo o model y escoges el modelo que creaste  :huh:

te recomiendo que primero aprendas a crear formularios mano

http://frickelblog.wordpress.com/2010/01/19/how-to-use-tablemodels-and-listmodel-with-netbeans-gui-builder/

Xedrox

Hola sapito, gracias por tu respuesta opte por la segunda opción, pero como te conté antes programar GUI a mano es muy molesto, por eso estoy usando el NetBeans. Saludos

NelxoN

Puedes hacer algo muy fácil.

Código (java) [Seleccionar]

//Le asigno un DefaultTableModel a mi jTable para poderlo manipular mas facil
DefaultTableModel dt=new DefaultTableModel();
jTable1.setModel(dt);

//Y para borrar basta con un for de atras hacia adelante.

for (int i = dt.getRowCount() -1; i >= 0; i--)
     {
            dt.removeRow(i);
      }


Salu2.

Xedrox

LO tendré en cuenta NetxoN, gracias y saludos