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

Llenar JTable

Estas en el tema de Llenar JTable en el foro de Java en Foros del Web. Hola Amigos. Soy estudiante de informatica y me estan pasando Java bueno ya casi termino el semestre, y ya se imaginaran tengo que entregar un ...
  #1 (permalink)  
Antiguo 23/12/2010, 22:21
Avatar de Killerx_8937  
Fecha de Ingreso: noviembre-2006
Mensajes: 99
Antigüedad: 17 años, 5 meses
Puntos: 0
Llenar JTable

Hola Amigos.

Soy estudiante de informatica y me estan pasando Java bueno ya casi termino el semestre, y ya se imaginaran tengo que entregar un proyecto, mi problema radica que neceito llenar un JTable con los registros de una base de datos, tengo un form el cual posee 2 textfield un boton y un JTable, que es lo que hace todo esto bueno al ingrasar en un JTextField un codigo y en el otro una cantidad y si presionamos el boton agregar llamo a un metodo que valida el codigo y el stock del producto una vez echo esto llena el la primera fila del JTable, el problema es que cuando Agrego otro producto siempre me llena el JTable en la primera fila y necesito que el JTable se llene con todos los valores agregados.

se entiende.. bueno ahora un poco de codigo:

este metodo Genera Un ArrayList de Comic que son los productos a vender.

Código:
     public ArrayList<Comic> AgregarALista(int IdComic)
    {
        Statement t = conectar.crearSentencia();
        ResultSet resultado=null;
        ArrayList<Comic> comic= new ArrayList<Comic>();
        try
        {
            
            resultado= t.executeQuery("SELECT * from comic Where               IdComic="+IdComic+"");

            while(resultado.next())
            {
                Comic c = new Comic();
                c.setIdComic(resultado.getInt("IdComic"));
                c.setNombre(resultado.getString("NombreSerie"));
                comic.add(c);
            }
            return comic;
         }
         catch(SQLException e)
         {
             return null;
         }

     }
este es el codigo del evento del boton que me agrega al JTable

Código:
private void jButtonAgregarVentaActionPerformed(java.awt.event.ActionEvent evt) {                                                    
          Ventas vta = new Ventas(Integer.parseInt(this.jTextFieldAgregarCodigoVenta.getText()),Integer.parseInt(this.jTextFieldAgregarCantidadVenta.getText()));
          

          try
          {
             vta.Agregar();
             DefaultTableModel modelo = new DefaultTableModel();

             modelo.addColumn("IdComic");
             modelo.addColumn("Nombre");
             modelo.addColumn("Cantidad");
             modelo.addColumn("Valor Unidad");
             modelo.addColumn("SubTotal");

             Comic c = new Comic();
             int ValorComic=1950;
             for(Comic comic : c.Desplegar(Integer.parseInt(this.jTextFieldAgregarCodigoVenta.getText())))
             {

                Object[] fila = new Object[5];
                fila[0] = comic.getIdComic();
                fila[1] = comic.getNombre();
                fila[2] = this.jTextFieldAgregarCantidadVenta.getText();
                fila[3] = ValorComic;
                fila[4] = ValorComic * Integer.parseInt(this.jTextFieldAgregarCantidadVenta.getText());
                modelo.addRow(fila);
                }
                this.jTableDetalleDeVentas.setModel(modelo);


          }
          catch(ArgumentosEx AE)
          {
              JOptionPane.showMessageDialog(rootPane, AE.getMensaje());
          }
como ven recibo el arrayList de Comic y Lo agrego al JTable.


Si alguien puede que me alumbre porfa....
Uso NetBeans 6.9.1
  #2 (permalink)  
Antiguo 27/12/2010, 16:32
 
Fecha de Ingreso: diciembre-2010
Mensajes: 788
Antigüedad: 13 años, 4 meses
Puntos: 51
Respuesta: Llenar JTable

El problema es que estás definiendo el modelo cada vez que agregas, solo definelo una vez y te funcionará.

Etiquetas: jtable, llenar
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 02:17.