Foros del Web » Programación para mayores de 30 ;) » Java »

No puedo hacer comboBox dependientes.

Estas en el tema de No puedo hacer comboBox dependientes. en el foro de Java en Foros del Web. Hola. Se que hice una pregunta hace unas horitas pero ahora me surgió otro problema, más urgente que nunca. Trato de hacer un comboBox dependiente ...
  #1 (permalink)  
Antiguo 30/10/2014, 20:05
Avatar de xXIzayaXx  
Fecha de Ingreso: octubre-2014
Ubicación: Canelones
Mensajes: 4
Antigüedad: 9 años, 5 meses
Puntos: 0
Pregunta No puedo hacer comboBox dependientes.

Hola. Se que hice una pregunta hace unas horitas pero ahora me surgió otro problema, más urgente que nunca. Trato de hacer un comboBox dependiente de otro, pero por alguna razón me da error o no me funciona. Les dejo aquí el código de los metodos que estoy usando.
Código &quot:
Ver original
  1. private void comboBoxItemStateChanged(java.awt.event.ItemEvent evt){
  2.         if(evt.getStateChange() == ItemEvent.SELECTED){
  3.         if(comboBox.getSelectedIndex()>0){
  4.         comboBox_1.setModel(new DefaultComboBoxModel(getDocNombres(comboBox.getSelectedItem().toString())));
  5.         }
  6.         }
  7.     }
Código Java:
Ver original
  1. public String[] getDocNombres(String comboBox){
  2.         String[] DocNombres = new String[2];
  3.         if(comboBox.equalsIgnoreCase("Alergista")){
  4.         DocNombres[0] = "Pedro Silva";
  5.         DocNombres[1] = "Daniel Paez";
  6.         }
  7.         if(comboBox.equalsIgnoreCase("Cardiolog\u00EDa")){
  8.         DocNombres[0] = "Luciano Ferreira";
  9.         DocNombres[1] = "Lucas Rodriguez";
  10.         }
  11.         if(comboBox.equalsIgnoreCase("Cardiolog\u00EDa Infantil")){
  12.         DocNombres[0] = "Silvana Gomez";
  13.         DocNombres[1] = "Florencia Viera";
  14.         }
  15.         if(comboBox.equalsIgnoreCase("Dermatolog\u00EDa")){
  16.         DocNombres[0] = "Silvana Gomez";
  17.         DocNombres[1] = "Florencia Viera";
  18.         }
  19.         if(comboBox.equalsIgnoreCase("Diabetolog\u00EDa")){
  20.         DocNombres[0] = "Hernesto Fernandez";
  21.         DocNombres[1] = "Facundo Zorrilla";
  22.         }
  23.         if(comboBox.equalsIgnoreCase("Endocrinolog\u00EDa")){
  24.         DocNombres[0] = "Cesar Gutierrez";
  25.         DocNombres[1] = "Mart\u00EDn Gomez";
  26.         }
  27.         if(comboBox.equalsIgnoreCase("Enfermedades Infecciosas")){
  28.         DocNombres[0] = "Ana Clara";
  29.         DocNombres[1] = "Pedro Gonzalez";
  30.         }
  31.         if(comboBox.equalsIgnoreCase("Gastroenterolog\u00EDa")){
  32.         DocNombres[0] = "Dalton Pereira";
  33.         DocNombres[1] = "Mart\u00EDn Allende";
  34.         }
  35.         if(comboBox.equalsIgnoreCase("Gastroenterolog\u00EDa Infantil")){
  36.         DocNombres[0] = "Matteo Acevedo";
  37.         DocNombres[1] = "Valeria Garcia";
  38.         }
  39.         if(comboBox.equalsIgnoreCase("Geriag\u00EDa")){
  40.         DocNombres[0] = "Fabian Sanchez";
  41.         DocNombres[1] = "Michael Aguirre";
  42.         }
  43.         if(comboBox.equalsIgnoreCase("Ginecolog\u00EDa y Obstetracia")){
  44.         DocNombres[0] = "Flavio Calleja";
  45.         DocNombres[1] = "Felix Borras";
  46.         }
  47.         if(comboBox.equalsIgnoreCase("Hematolog\u00EDa Cl\u00EDnica")){
  48.         DocNombres[0] = "Federico Acevedo";
  49.         DocNombres[1] = "Adrian Fierro";
  50.         }
  51.         if(comboBox.equalsIgnoreCase("Medicina General")){
  52.         DocNombres[0] = "Fabricio Laudano";
  53.         DocNombres[1] = "Hernan Fernandez";
  54.         }
  55.         if(comboBox.equalsIgnoreCase("Nefrolog\u00EDa")){
  56.         DocNombres[0] = "Ana Flor";
  57.         DocNombres[1] = "Bianca Alonso";
  58.         }
  59.         if(comboBox.equalsIgnoreCase("Neurolog\u00EDa")){
  60.         DocNombres[0] = "Alan Par";
  61.         DocNombres[1] = "Mart\u00EDn Huerta";
  62.         }
  63.         if(comboBox.equalsIgnoreCase("Neuropediatr\u00EDa")){
  64.         DocNombres[0] = "Alan Par";
  65.         DocNombres[1] = "Mart\u00EDn Huerta";
  66.         }
  67.         if(comboBox.equalsIgnoreCase("Odontolog\u00EDa")){
  68.         DocNombres[0] = "Victor Larrañaga";
  69.         DocNombres[1] = "Laura Capriccio";
  70.         }
  71.         if(comboBox.equalsIgnoreCase("Oftalmolog\u00EDa")){
  72.         DocNombres[0] = "Victoria Menendez";
  73.         DocNombres[1] = "Tabare Alvarez";
  74.         }
  75.         if(comboBox.equalsIgnoreCase("Otologo")){
  76.         DocNombres[0] = "Mart\u00EDn Ruiz";
  77.         DocNombres[1] = "Adriana Barreiro";
  78.         }
  79.         if(comboBox.equalsIgnoreCase("Otorrinolaringolog\u00EDa")){
  80.         DocNombres[0] = "Daniel Rodriguez";
  81.         DocNombres[1] = "Tito Fernandez";
  82.         }
  83.         return DocNombres;
  84.     }
  85. }
Necesito ayuda urgente, no me queda mucho tiempo!!
  #2 (permalink)  
Antiguo 31/10/2014, 00:40
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 9 años, 8 meses
Puntos: 182
Respuesta: No puedo hacer comboBox dependientes.

Buenas,

Cita:
Trato de hacer un comboBox dependiente de otro, pero por alguna razón me da error o no me funciona. Les dejo aquí el código de los metodos que estoy usando.
Si no sabemos ni que errores te da, es difícil decirte nada.

Cita:
comboBox_1.setModel(new DefaultComboBoxModel(getDocNombres(comboBox.getSel ectedItem().toString())));
Si estás teniendo problemas con esto, porqué no lo separas para poder tratarlo mejor?

Código Java:
Ver original
  1. String valorCombo = comboBox.getSelectedItem().toString();
  2. System.out.println("Valor combo: " + valorCombo);
  3. String[] docNombres = getDocNombres(valorCombo);
  4. System.out.println("Array docNombres: " + docNombres);
  5. comboBox_1.setModel(new DefaultComboBoxModel(docNombres);


Cita:
Necesito ayuda urgente, no me queda mucho tiempo!!
Tu falta de planificación no es nuestra emergencia. Es tu ejercicio y te ayudará alguien, si puede y cuando pueda. Este tipo de mensajes no aportan nada.


Un saludo
__________________
If to err is human, then programmers are the most human of us
  #3 (permalink)  
Antiguo 31/10/2014, 02:13
 
Fecha de Ingreso: agosto-2010
Ubicación: Lima
Mensajes: 19
Antigüedad: 13 años, 8 meses
Puntos: 1
Respuesta: No puedo hacer comboBox dependientes.

Estoy de acuerdo con Profesor_Falken
  #4 (permalink)  
Antiguo 31/10/2014, 05:11
Avatar de xXIzayaXx  
Fecha de Ingreso: octubre-2014
Ubicación: Canelones
Mensajes: 4
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: No puedo hacer comboBox dependientes.

Lo siento, me dejé llevar por el estres.

El error que me aparece es cuando escribo comboBox y comboBox_1, me dice "comboBox cannot be resolved". Por lo que aún con el código separado que me pasaste, que por cierto te lo agradezco, no me funcionó por que aun escribiendolo de diferente manera no aporto al problema en cuestión.

También quisiera aprovechar para hacer una pregunta rápida que no estoy seguro si la habrá hecho alguién en el foro ya y tampoco tiene mucho que ver con el asunto que trato de resolver, pero trato de ingresar información en un ArrayList que se encuentra en otra clase. Primero que nada le pido al usuario que me ingrese los datos en una ventana, y luego paso los textFields ad Strings (cadN / N es un numero), para luego enviarlos todos al ArrayList. El problema es que cuando imprimo el resultado me aparece algo como "socio@6513vza1868" y no tengo la más minima idea de como arreglar esto. Se que hay un procedimiento el cuál no estoy entendiendo nada, y por eso necesito ayuda.

CLASE SOCIO (ARRAYLIST)
Código Java:
Ver original
  1. public class socio {
  2.     private String primerNombre;
  3.     private String segundoNombre;
  4.     private String apellidoPaterno;
  5.     private String apellidoMaterno;
  6.     private String CI;
  7.     private String dia;
  8.     private String mes;
  9.     private String año;
  10.     private String tel;
  11.     private String cel;
  12.     private String telAlt;
  13.     private String celAlt;
  14.    
  15.     public socio(String cad0, String cad1, String cad2, String cad3, String cad4, String cad5, String cad6, String cad7, String cad8, String cad9, String cad10, String cad11){
  16.         this.primerNombre = cad0;
  17.         this.segundoNombre = cad1;
  18.         this.apellidoPaterno = cad2;
  19.         this.apellidoMaterno = cad3;
  20.         this.CI = cad4;
  21.         this.dia = cad5;
  22.         this.mes = cad6;
  23.         this.año = cad7;
  24.         this.tel = cad8;
  25.         this.cel = cad9;
  26.         this.telAlt = cad10;
  27.         this.celAlt = cad11;
  28.        
  29.        
  30.     }
  31.  
  32. }

Código Java:
Ver original
  1. socio s = new socio(cad0, cad1, cad2, cad3, cad4, cad5, cad6, cad7, cad8, cad9, cad10, cad11);
  2.             array.getListaSocio().add(s);
  3.             JOptionPane.showMessageDialog(null, "¡Nuevo socio agregado correctamente!");
  #5 (permalink)  
Antiguo 31/10/2014, 06:56
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 9 años, 8 meses
Puntos: 182
Respuesta: No puedo hacer comboBox dependientes.

Buenas,

comboBox y comboBox_1, tienen que ser los nombre de las variables que apuntan a los jComboBox en tu codigo.
Si no son los reales, de donde has sacado entonces el codigo de arriba?

Los objetos se representan en String por defecto indicando su tipo@direcciondememoria. Si quieres que se muestre la representacion de sus datos deberas sobreescribir el metodo toString().

Este tema ha salido repetidas veces en este mismo foro:
http://www.forosdelweb.com/f45/q-sig...string-580283/

Un saludo
__________________
If to err is human, then programmers are the most human of us

Etiquetas: combobox, dependiente
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:20.