Foro de elhacker.net

Programación => Java => Mensaje iniciado por: Winterz en 28 Mayo 2014, 17:36 pm



Título: ArrayList varios tipos de Objetos
Publicado por: Winterz en 28 Mayo 2014, 17:36 pm
Hola de nuevo,

Tengo un problema con el siguiente trozo de código.
Tengo una ventana para consultar los vehiculos almacenados en mi aplicacion. Estos vehiculos estan almacenados en un ArrayList<Vehiculo>, la clase Vehiculo es una superclase que a su vez se distingue en Automoviles(Turismo y Todoterreno) y Motocicletas.

 Tengo que hacer para mostrar los vehiculos almacenados segun el tipo osease Turismo Todoterreno Motocicleta o mostrarlos a todos sin importar que tipo sea. Tengo el siguiente código:

Código:
tipo = (String) ComboChoice.getSelectedItem();

        if(tipo.equals("Todos")){
            ConsultFrame.jLabel3.setVisible(false); 
        }       
               
        if (tipo.equals("Motocicletas")) {
               ConsultFrame.jLabel13.setVisible(false);
               ConsultFrame.jLabel15.setVisible(false);
               ConsultFrame.jLabel16.setVisible(false);
               ConsultFrame.LabelPuertas.setVisible(false);
               ConsultFrame.jComboBox2.setVisible(false);
               ConsultFrame.jComboBox1.setVisible(false);
               ConsultFrame.txtNumPsajeros.setVisible(false);
               ConsultFrame.txtNumPuertas.setVisible(false);
               ConsultFrame.jLabel3.setVisible(true);
               ConsultFrame.jLabel11.setVisible(true);
               ConsultFrame.ComboTipo.setVisible(true);
               ConsultFrame.txtCilindrada.setVisible(true);
        }
        if (tipo.equals("Turismo")) {
               ConsultFrame.jLabel13.setVisible(true);
               ConsultFrame.jLabel15.setVisible(true);
               ConsultFrame.jLabel16.setVisible(true);
               ConsultFrame.LabelPuertas.setVisible(true);
               ConsultFrame.jComboBox2.setVisible(true);
               ConsultFrame.jComboBox1.setVisible(true);
               ConsultFrame.txtNumPsajeros.setVisible(true);
               ConsultFrame.txtNumPuertas.setVisible(true);
               ConsultFrame.jLabel3.setVisible(false);
               ConsultFrame.jLabel11.setVisible(false);
               ConsultFrame.ComboTipo.setVisible(false);
               ConsultFrame.txtCilindrada.setVisible(false);
               ConsultFrame.LabelPuertas.setText("NUM. PUERTAS");
        }
        if (tipo.equals("Todoterreno")) {
               ConsultFrame.jLabel13.setVisible(true);
               ConsultFrame.jLabel15.setVisible(true);
               ConsultFrame.jLabel16.setVisible(true);
               ConsultFrame.LabelPuertas.setVisible(true);
               ConsultFrame.jComboBox2.setVisible(true);
               ConsultFrame.jComboBox1.setVisible(true);
               ConsultFrame.txtNumPsajeros.setVisible(true);
               ConsultFrame.txtNumPuertas.setVisible(true);
               ConsultFrame.jLabel3.setVisible(false);
               ConsultFrame.jLabel11.setVisible(false);
               ConsultFrame.ComboTipo.setVisible(false);
               ConsultFrame.txtCilindrada.setVisible(false);
               ConsultFrame.LabelPuertas.setText("TRACCION");       
        }
Como cada vehiculo tiene unos atributos distintos, nose como hacer que al iniciar la ventana me salga el primer Vehiculo ( turismo por ejemplo) salgan los textField con todos sus atributos correspondientes y si al darle a siguiente se da el caso de que sea un CicloMotor por ejemplo, se oculten las casillas que no necesito y aparezcan las propias del ciclomotor.

Algun rayo de luz a este asunto?