En cada una cuando agrego un nuevo coche sale su correspodiente atributo, el problema es que cuando modifico por cualquier cosa ese coche los atributos se cambian en marca se pone modelo y en el tipo de motor me aparece la case (berlina, familiar, cabrio,Todoterreo) y mira que he estado mirando el codigo en la clase modificar coche pero no veo donde coj... tengo cambiado eso, asi que antes de volverme loco os pido ayuda, aqui os pongo el codigo de modificar coche:
Código HTML:
public class ModificarCoche implements ActionListener { public static final long serialVersionUID = 1L; //Objeto Vehiculo Coche coche; ArrayList<Integer> listaEspecificaciones = new ArrayList<Integer>(); GestionarCoche gC = new GestionarCoche(); PanelEspecificaciones panelEspecificaciones; String clase = "Berlina"; String matricula; String marca; String modelo; String tipoMotor; String concesionario; JPanel panelPrincipal = new JPanel(); //Definimos los campos public JComboBox concesionarioCoche = new JComboBox(); public JTextField marcaCoche = new JTextField(10); public JComboBox claseCoche = new JComboBox(); public JTextField modeloCoche = new JTextField(10); public JComboBox tipoMotorCoche = new JComboBox(); public JComboBox campoMatriculaCoche = new JComboBox(); private JPanel panelAddVehiculoBoton; //Metodo constructor que nos inicializa la ventana secundaria. public ModificarCoche() { JDialog ventanaModVehiculo = new JDialog(); System.out.println("Marca: "+marca+"Modelo :"+modelo+"Especificaciones: "+listaEspecificaciones); ventanaModVehiculo.setTitle("Modificar Coche"); ventanaModVehiculo.setContentPane(getPanelPrincipal()); ventanaModVehiculo.setModal(true); ventanaModVehiculo.pack(); ventanaModVehiculo.setLocationRelativeTo(null); ventanaModVehiculo.setVisible(true); } public Coche definirVehiculo(String matricula){ coche = gC.sacarDeFichero(matricula); concesionario = coche.getConcesionario(); marca = coche.getMarca(); modelo = coche.getModelo(); clase = coche.getClase(); tipoMotor = coche.getTipoMotor(); listaEspecificaciones = coche.sacarAtributos(); return coche; } //Panel principal que contendra el panel de campos y el panel del boton agregar public JPanel getPanelPrincipal(){ panelPrincipal.setLayout(new BoxLayout(panelPrincipal,BoxLayout.PAGE_AXIS)); panelPrincipal.add(getPanelLabel()); panelPrincipal.add(getPanelAddCoche()); panelPrincipal.add(getJpanelEspecificaciones()); panelPrincipal.add(getPanelAddCocheBoton()); panelPrincipal.setBorder(BorderFactory.createEmptyBorder(15,15,15,15)); return panelPrincipal; } //Panel de Campos (NORTE) public JPanel getPanelAddCoche(){ JPanel panelAddVehiculo = new JPanel(); panelAddVehiculo.setLayout(new GridLayout(0,2)); panelAddVehiculo.add(new JLabel("Matricula")); panelAddVehiculo.add(getCampoMatriculaCoche()); panelAddVehiculo.add(new JLabel("Concesionario")); panelAddVehiculo.add(getConcesionarioCoche()); panelAddVehiculo.add(new JLabel("Marca")); panelAddVehiculo.add(marcaCoche); panelAddVehiculo.add(new JLabel("Modelo")); panelAddVehiculo.add(modeloCoche); panelAddVehiculo.add(new JLabel("Tipo Motor")); panelAddVehiculo.add(getTipoMotorCoche()); panelAddVehiculo.add(new JLabel("Clase")); panelAddVehiculo.add(getClaseCoche()); panelAddVehiculo.setBorder(BorderFactory.createEmptyBorder(15,15,0,15)); return panelAddVehiculo; } //Instanciamos el panel de especificaciones public JPanel getJpanelEspecificaciones(){ JPanel jpanelEspecificaciones = new JPanel(); jpanelEspecificaciones.setLayout(new GridBagLayout()); try { panelEspecificaciones = (PanelEspecificaciones) Class.forName("ucam.aplicacion.Coches.PanelEspecificaciones"+clase).newInstance(); } catch (InstantiationException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { e.printStackTrace(); } jpanelEspecificaciones.add(panelEspecificaciones.getPanelEspecificaciones()); return jpanelEspecificaciones; } //Panel con texto/encabezado private JPanel getPanelLabel(){ JPanel panelLabel = new JPanel(); JLabel label = new JLabel("Modificar Coche"); panelLabel.setLayout(new BorderLayout()); panelLabel.add(label); return panelLabel; } //Generamos los dos JCombo Box public JComboBox getClaseCoche() { //Puesto que el objeto claseCoche lo defino fuera del metodo, con este condicional //hago que no puedan agrearse mas lineas al JComboBox que ya esta instanciado if (claseCoche.getItemCount() == 0){ //Los atributos que se cargaran en el JComboBox los extraemos del fichero propiedades GestionarPropiedades gP = new GestionarPropiedades(); String clase = gP.sacarClases(); String[] arraymodelo = clase.split(" "); //Las comillas nos listan todo for(int i = 0 ;i<arraymodelo.length ; i++){ claseCoche.addItem(arraymodelo[i]); } } claseCoche.addActionListener(this); return claseCoche; } public JComboBox getConcesionarioCoche() { if (concesionarioCoche.getItemCount() == 0){ GestionarConcesionario gC = new GestionarConcesionario(); Hashtable hashConcesionarios = gC.reCargar(); concesionarioCoche.addItem("Seleccione un concesionario.. "); for(Enumeration e = hashConcesionarios.keys(); e.hasMoreElements();){ Object obj = e.nextElement(); concesionarioCoche.addItem(obj); } concesionarioCoche.addActionListener(listenerConcesionario); } return concesionarioCoche; }