Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/12/2010, 06:09
Avatar de oscarsb1988
oscarsb1988
 
Fecha de Ingreso: abril-2010
Mensajes: 40
Antigüedad: 14 años, 6 meses
Puntos: 0
De acuerdo Cargar vector en jList ( Serialización )

Saludos aquí estoy de nuevo XD

Tengo una clase Producto:

Código JAVA:
Ver original
  1. package CompraVenta;
  2.  
  3. import java.util.Vector;
  4. import java.io.Serializable;
  5.  
  6. public class Producto implements Serializable {
  7.     public String nombre;
  8.     private double precio_ud;
  9.     private double descuento;
  10.  
  11.     public Producto() {
  12.     }
  13.  
  14.     public Producto(String nom, double precio, double dto) {
  15.         nombre = nom;
  16.         setPrecio_ud(precio);
  17.         setDescuento(dto);
  18.     }
  19.  
  20.     public void setPrecio_ud(double precio){
  21.  
  22.         if(precio<=0){
  23.             System.out.println("FATAL ERROR: Precio para "+nombre+" incorrecto");
  24.         }else{
  25.             precio_ud = precio;
  26.         }
  27.     }
  28.  
  29.     public void setDescuento(double DTO){
  30.         if (DTO<=60){
  31.             if (DTO<0){
  32.                 System.out.println("FATAL ERROR: DTO para "+nombre+" NEGATIVO");
  33.                 DTO = 0;
  34.             }else{
  35.                 descuento = DTO;
  36.             }
  37.         }else{
  38.             System.out.println("FATAL ERROR: DTO para "+nombre+" supera el 60%");
  39.             DTO = 0;
  40.         }
  41.     }
  42.  
  43.  
  44.     public double getPrecio_ud(){
  45.         return precio_ud;
  46.     }
  47.  
  48.     public double getDescuento(){
  49.         return descuento;
  50.     }
  51.  
  52.     public static Vector <Producto> Prod = new Vector();
  53. }

Y tengo un Jframe que contiene un jList1. En el código meto objetos producto en un vector.

Código JAVA:
Ver original
  1. //Productos
  2.  
  3.         Producto p001 = new Producto();
  4.         p001.nombre = "Unidad ZIP";
  5.         p001.setPrecio_ud(60);
  6.         p001.setDescuento(10);
  7.  
  8.         Producto p002 = new Producto();
  9.         p002.nombre = "HD 500GB";
  10.         p002.setPrecio_ud(60);
  11.         p002.setDescuento(10);
  12.  
  13.         Producto p003 = new Producto();
  14.         p003.nombre = "256 RAM";
  15.         p003.setPrecio_ud(60);
  16.         p003.setDescuento(10);
  17.  
  18.         Producto p004 = new Producto();
  19.         p004.nombre = "PDA XENON";
  20.         p004.setPrecio_ud(60);
  21.         p004.setDescuento(10);
  22.  
  23.         Producto p005 = new Producto();
  24.         p005.nombre = "PACK 50CDs";
  25.         p005.setPrecio_ud(60);
  26.         p005.setDescuento(10);
  27.  
  28.         Producto p006 = new Producto();
  29.         p006.nombre = "Teclado MM";
  30.         p006.setPrecio_ud(60);
  31.         p006.setDescuento(10);
  32.  
  33.         Producto p007 = new Producto();
  34.         p007.nombre = "Grabadora";
  35.         p007.setPrecio_ud(60);
  36.         p007.setDescuento(10);
  37.  
  38.         Producto p008 = new Producto();
  39.         p008.nombre = "Impresora";
  40.         p008.setPrecio_ud(60);
  41.         p008.setDescuento(10);
  42.  
  43.         //Introducimos los productos en el vector
  44.  
  45.         Producto.Prod.addElement(p001);
  46.         Producto.Prod.addElement(p002);
  47.         Producto.Prod.addElement(p003);
  48.         Producto.Prod.addElement(p004);
  49.         Producto.Prod.addElement(p005);
  50.         Producto.Prod.addElement(p006);
  51.         Producto.Prod.addElement(p007);
  52.         Producto.Prod.addElement(p008);
  53.  
  54.         jList1.setListData(Producto.Prod);

Me carga los elementos del vector en el jList pero me sale como

Código JAVA:
Ver original
  1. CompraVenta.Producto@r435er;
  2. CompraVenta.Producto@2s35sr;
  3. CompraVenta.Producto@5jkda3r;

Tengo entendido que hay que Serializarlo o algo. Voy a seguir indagando en la solución mientras espero alguna idea vuestra sobre ésto para solucionar el problema.

Un saludo