Ver Mensaje Individual
  #9 (permalink)  
Antiguo 06/10/2013, 11:39
ssssaaamm
 
Fecha de Ingreso: octubre-2013
Ubicación: En mi casita
Mensajes: 7
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Error Al inicializar un JTable e usando una clase AbstractTableModel

Diosss, claro es cierto ja ja, esque no habia compredido eso de rellenar, hoy si mi trozo de codigo ha quedado asi:

Código:
switch(columnIndex){
           case 0: returning=listaProductosDisponibles.get(rowIndex).getNombre();
               break;
           case 1: returning=listaProductosDisponibles.get(rowIndex).getPrecio();
               break;
           case 2: returning=listaProductosDisponibles.get(rowIndex).getCantidad();
       }

Pero ,sigue saliendo mal, y me doy cuenta de que es porque la variable returning siempre esta tomando el mismo valor tres veces por cada objeto Producto.
Es decir por cada objeto producto la variable returning toma unicamente el atributo "name" de dicho producto. y todo ésto es debido a que el parametro columnIndex del metodo en el cual está incluido éste trozo de codigo siempre llega con un valor de 0, cuando lo correcto sería que primero llegase con un valor de 0, luego con un valor de 1, luego con un valor de 2, y luego nuevamente con un valor de 0 para comenzar a tomar los atributos de un nuevo objeto producto.

No se si estoy sobre escribiendo mal éste metodo, que es el metodo getValueAt(), heredado de la clase AbstractTableModel. Aqui les dejo como lo tengo actualmente éste metodo:

Código:
@Override
    public Object getValueAt(int rowIndex, int columnIndex)
    {
       Object returning=new Object();
       switch(columnIndex)
       {
           case 0: returning=listaProductosDisponibles.get(rowIndex).getNombre();
               break;
           case 1: returning=new Double(listaProductosDisponibles.get(rowIndex).getPrecio());
               break;
           case 2: returning=new Integer(listaProductosDisponibles.get(rowIndex).getCantidad());
       }
       return returning;
    }
solucioné parcialmente éste problema agregando codigo dentro de éste metodo para que el valor de columnIndex tomara el valor de 0 en la primera llamada al metodo, 1 en la segunda llamada, 2 en la tercera, y luego nuevamente 0. Al principio todo se ve muy bonito, la tabla si toma los valores correctos, pero una vez me ubico en una celda dada, los datos en esa fila comienzan a desordenarse, y asi pasa con cualquier otra celda.

Asique pienso que el problema esta en donde se realiza la invocacion de éste metodo (getValueAt()), ya que es ahi donde no se le está pasando el parametro columnIndex correcto. Pero no se ni quien es el encargado de invocar a éste metodo, y ni se si se incluye en alguna parte del codigo que genera la paleta de componentes de netbeans.