Duda sobre Java para los informaticos

Aquí podrás hablar de cualquier cosa relacionada con la tecnología y la informática: software, hardware, internet, problemas con tu PC, robótica, I+D+i, etc.

Moderator: Viento

Post Reply
User avatar
Mansonurien
Pequeño Tombery
Pequeño Tombery
Posts: 280
Joined: 01 May 2012, 11:51

Duda sobre Java para los informaticos

Post by Mansonurien » 20 Mar 2014, 19:30

El caso es que estoy haciendo un pequeño proyecto java para clase y esta practicamente terminado, pero me queda solucionar un pequeño problema que se me está resistiendo. A ver si me podeis echar una mano. xP

El caso es el siguiente:
Es un programa sencillo con una base de datos MySQL con tres tablas: Directores de cine, Productoras de cine y Peliculas y a la hora de guardar las peliculas guardo todos sus datos mas el codigo de del director y el de la productora.

El problema esta en que para guardar los dos codigos esos hay que cojerlos de dos jComboBox (uno que tiene los nombres de los directores y otro con el nombre de las productoras) y necesito tener cada nombre seleccionado para poder guardarlos. Cuando selecciono un item de uno de los jComboBox se mantiene seleccionado pero al ir a coger el segundo se deselecciona y por lo tanto solo puedo guardar uno de ellos quedando el otro en 0.

Para coger los datos de los jComboBox utilizo lo siguiente:
//Todo pasa al pulsar el btnNuevo
if (boton == btnNuevo){
try {
//Aqui paso todo lo que necesito a otra funcion donde se hace la insert
peli.insertPeli (list.getLastVisibleIndex () + 2, txtTitulo.getText (), txtOriginal.getText (),
txtPais.getText (), Integer.parseInt (txtAnio.getText ()), txtGenero.getText (), txtDuracion.getText (), cogerDire (), cogerProduc ());//Las dos ultimas funciones son las que utilizo para coger los codigos del director y la productora
ver (); //Esto solo sirve para volver a mostrar todas las peliculas en un jList
} catch (ClassNotFoundException e1) {
e1.printStackTrace ();
}
}

//y en estas dos funciones cojo los nombres de los jComboBox y de ellos cojo sus codigos con una select que estan en otras funciones llamadas codDir () y codProd ()
public int cogerDire (){
Object o = cBoxDir.getSelectedItem ();
String d = String.valueOf (o);
int cd = peli.codDir (d);

return cd;
}

public int cogerProduc (){
Object o = cBoxProd.getSelectedItem ();
String p = String.valueOf (o);
int cp = peli.codProd (p);

return cp;
}
Como he dicho antes todo funciona perfectamente pero solo puedo cojer uno de los jComboBox, el que este seleccionado. He estado buscando entre las funciones de los jComboBox y por internet pero no he encontrado nada. Espero que me podais ayudar.

Gracias de antemano!! xP
Last edited by Mansonurien on 22 Mar 2014, 11:51, edited 1 time in total.
Image

User avatar
Gerwulf
Focarrol Verdadero
Focarrol Verdadero
Posts: 418
Joined: 03 Jul 2013, 14:34
PSN ID: gerwulf_
Twitter: @Gerwulf_
Skype: gerwulf_
STEAM: wolfo303
Location: Las Palmas

Re: Duda sobre Java para los informaticos

Post by Gerwulf » 20 Mar 2014, 20:03

Bueno así mirando por arriba me llama la atención esto:

Tanto en coger director como coger produc tienes "Object o" y "cBoxDir.getSelectedItem ();" por lo que para empezar estas cogiendo siempre el mismo jcombobox y segundo tienes 2 objetos llamados o en teoría no debería pasar nada puesto que recoges el valor independientemente en cada función pero por si acaso cambia el nombre de uno de los objetos en una función.

Intenta cambiar el nomber de Object o y pon otra letra y mira a ver porque llamas 2 veces a cBoxDir supongo que tendria que ser cBoxDir y cBoxPro, es decir, crear un objeto para cada combobox.

Es lo único que veo así. Espero que te sea de ayuda.

User avatar
Mansonurien
Pequeño Tombery
Pequeño Tombery
Posts: 280
Joined: 01 May 2012, 11:51

Re: Duda sobre Java para los informaticos

Post by Mansonurien » 21 Mar 2014, 00:19

Anda, pos no me habia fijado en eso!! Se me habria olvidado cambiarlo al copiarlo. Ya probare mañana entonces, seguramente me habria pasado un buen rato mirando el codigo como un idiota sin saber que le pasa, Jeje.

Muchas graxias Gerwulf!! xP
Cuando lo pruebe ya habisare si se ha solucionado o no. Thankius!!
Image

User avatar
Mansonurien
Pequeño Tombery
Pequeño Tombery
Posts: 280
Joined: 01 May 2012, 11:51

Re: Duda sobre Java para los informaticos

Post by Mansonurien » 22 Mar 2014, 11:50

Ya lo he cambiado eso y lo he comprobado, pero sigue sin funcionar. Si selecciono un elemento en l jComboBox de directores y despues otro elemento en el de productoras el jComboBox de productoras se me guarda bien en la base de datos pero el de directores se queda deseleccionado y me guarda 0.
Image

User avatar
Gerwulf
Focarrol Verdadero
Focarrol Verdadero
Posts: 418
Joined: 03 Jul 2013, 14:34
PSN ID: gerwulf_
Twitter: @Gerwulf_
Skype: gerwulf_
STEAM: wolfo303
Location: Las Palmas

Re: Duda sobre Java para los informaticos

Post by Gerwulf » 22 Mar 2014, 14:46

Bueno veamos. En principio no se debería deseleccionar porque no estas cogiendo parámetros según el que este en focus sino por la opción visible de cada uno. Por lo que probablemente puede que el error este por aquí.

int cd = peli.codDir (d)
int cp = peli.codProd (p);

Al tener esto he de suponer que tienes alguna clase peli creada la cual he de suponer que le estas pasando el nombre para obtener el numero de algo, quizas haya algun fallo por ahi que este incordiando. Mira a ver si es eso. Sino el problema es los focus de los jcombobox.

También prueba la función getSelectedIndex() que creo recordar aun existe a ver si eso te soluciona más rapido pues te devuelve el numero directamente creo.

User avatar
Mansonurien
Pequeño Tombery
Pequeño Tombery
Posts: 280
Joined: 01 May 2012, 11:51

Re: Duda sobre Java para los informaticos

Post by Mansonurien » 23 Mar 2014, 13:22

Ya he corregido el fallo. Al parecer no estaba donde yo pensaba. El fallo estaba en que al coger el nombre del director desde el jComboBox, no solo cogia su nombre sino el nombre mas su apellido y al igualarlo al nombre q habia en la base de datos no lo reconocia y por eso me daba 0. Pero bueno, ya le he hecho un subtring para q me coja solo el nombre y ahora va perfecto. Muchas gracias por tu ayuda de todas formas!! xP

Nos vemos!!!
Image

User avatar
Gerwulf
Focarrol Verdadero
Focarrol Verdadero
Posts: 418
Joined: 03 Jul 2013, 14:34
PSN ID: gerwulf_
Twitter: @Gerwulf_
Skype: gerwulf_
STEAM: wolfo303
Location: Las Palmas

Re: Duda sobre Java para los informaticos

Post by Gerwulf » 23 Mar 2014, 14:32

Nada, cualquier cosa de programación por aquí estaré xD

Post Reply