Java - ArrayList varios tipos de Objetos

   
Vista:

ArrayList varios tipos de Objetos

Publicado por Winterz (2 intervenciones) el 28/05/2014 18:45:14
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:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
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
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder