ArrayList varios tipos de Objetos

Iniciado por Winterz, 28 Mayo 2014, 17:36 PM

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

Winterz

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:

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?