Holadeseo iniciarme en el desarrollo de aplicaciones en kosmopor donde empiezo?saludos, Fernando
Date: Mon, 20 Sep 2010 10:49:22 -0500 Subject: Re: [Kosmo] Desarrollo de extensión (pinino) From: [email protected] To: [email protected] Hola Paco: Ya pudé resolver lo de los listeners, y también sólo me despliega dos combos, efectivamente tuvé que definir los JComboBox fuera del metodo mediante un arreglo de cadenas: String [] areas = {"M²","KM²","HAS"}; JComboBox comboAreas = new JComboBox(areas); String [] length = {"M","KM","MI","NMI"}; JComboBox comboLength = new JComboBox(length); al cual mando llamar en el metodo addCombo(): addRow("Uds_area", new JLabel("Unidad Área"),comboAreas, null, toolTipText); addRow("Uds_length", new JLabel("Unidad Perímetro"),comboLength, null, toolTipText); Me despliega una la ventana y agrega los combos hasta el final, auque muestra 4 etiquetas, pero los listeners ya funcionan, te adjunto imagen para que lo veas. Una vez màs muchas gracias por tu ayuda y paciencia y disculpa la insistencia, pero de verdad su guía es indispensable, saludos. El 20 de septiembre de 2010 09:01, Susana Iraiis Delgado Rodriguez <[email protected]> escribió: Hola Paco! No hay nada que disculpar, se que están muy ocupados y de verdad se agradece el tiempo que se toman para contestar. Temo decirte que no llamo al método addCombo() dos veces, sólo lo mado ejecutar con :dialog.addCombo(comboBoxFieldName, null, new ArrayList(), null); desde la clase CalculateAreaAndLengthPlugIn, y en la clase MultiInputDialog creo los dos combos: JComboBox comboAreas = new JComboBox(new Vector (unidades_area)); JComboBox comboPeri = new JComboBox(new Vector (unidades_peri)); addRow("Uds_area", new JLabel("Unidad Área"), comboAreas, null, toolTipText); addRow("Uds_length", new JLabel("Unidad Perímetro"),comboPeri, null, toolTipText); De cualquier forma voy a hacer lo que me dices fuera del metodo addCombo(); auque eso supondría crear otro método y mandarlo llamar en addCombo(), la verdad esa parte de "Los combos tienes que definirlos fuera de addCombo() y pasarle a este método un combo cada vez", no me queda clara. Gracias El 15 de septiembre de 2010 02:07, Paco Abato <[email protected]> escribió: Hola Susana: Disculpa que no tenga mucho tiempo para mirarlo en profundidad. En principio parece lógico que aparezcan 4 combos puesto que en el método addCombo() agregas dos y luego llamas dos veces a addCombo(). Los combos tienes que definirlos fuera de addCombo() y pasarle a este método un combo cada vez. En cuanto al actionlistener, debes definir uno para cada checkbox de forma que cada checkbox controle el estado de sus combos correspondientes (parece que intentas hacerlo todo en todos los checkbox). Un saludo. Francisco Abato Helguera Analista Programador Sistemas Abiertos de Información Geográfica, S.L. (SAIG S.L.) Teléfono: +34 955 72 33 44 E-mail: [email protected] El 14/09/2010 16:42, Susana Iraiis Delgado Rodriguez escribió: *public* *Collection* unidades_area; *public* *Collection* unidades_peri; *public* JComboBox addCombo(String fieldName, Object selectedItem, * Collection* items, String toolTipText){ unidades_area = *new* *ArrayList*(); *unidades_area**.add("M²")*; *unidades_area**.add("KM²")*; *unidades_area**.add("HAS")*; unidades_peri = *new* *ArrayList*(); *unidades_peri**.add("KM")*; *unidades_peri**.add("M")*; *unidades_peri**.add("MI")*; *unidades_peri**.add("NMI")*; JComboBox comboAreas = *new* JComboBox(*new Vector (unidades_area)*); JComboBox comboPeri = *new* JComboBox(*new Vector (unidades_peri)*); comboAreas.setSelectedItem(selectedItem); comboPeri.setSelectedItem(selectedItem); addRow("Uds_area", *new* JLabel("Unidad Área"), comboAreas, *null*, toolTipText); addRow("Uds_length", *new* JLabel("Unidad Perímetro"),comboPeri, *null*, toolTipText); *return* *null* ; } Al momento de agregar el combo en el metodo CalculateAreasAndLengthsPluigIn lo hago con la linea dialog.addCombo(comboBoxFieldName, null, new ArrayList(), null); el resultado es que se *agregan 4 combos en lugar de dos*, como te muestro en la figura adjunta; y con la segunda opción de modificar el método *addComboBox *resulta lo mismo. Además de que para habilitar y desahbilitar los nuevos combos que se agregan he tratado de modificar el método *private* *void* initFields, en el las líneas : dialog.getCheckBox(checkBoxFieldName).addActionListener(*new*ActionListener(){ *public* *void* actionPerformed( ActionEvent e ) { dialog.getComboBox(comboBoxFieldName).setEnabled( dialog.getCheckBox(checkBoxFieldName).isSelected()); dialog.getLabel(comboBoxFieldName).setEnabled( dialog.getCheckBox(checkBoxFieldName).isSelected()); dialog.getComboBox(“Uds_areas”).setEnabled( dialog.getCheckBox(checkBoxFieldName).isSelected()); dialog.getLabel(comboBoxFieldName).setEnabled( dialog.getCheckBox(checkBoxFieldName).isSelected()); dialog.getComboBox(“Uds_length”).setEnabled( dialog.getCheckBox(checkBoxFieldName).isSelected()); dialog.getLabel(comboBoxFieldName).setEnabled( dialog.getCheckBox(checkBoxFieldName).isSelected()); } }); Sin tener éxito alguno; quizás mis dudas no sean tan difíciles de responder, pero su ayuda nos ha permitido descubrir el uso de los métodos que se implementaron en Kosmo, día a día noe hemos llevado gratas sorpresas, pero este PlugIn que nos solicitaron nos ha hecho invertir tiempo y esfuerzo y es de suma importancia para nuestra organización. Muchas gracias por sus atenciones, saludos. _______________________________________________ Kosmo mailing list [email protected] http://lists.saig.es/mailman/listinfo/kosmo _______________________________________________ Kosmo mailing list [email protected] http://lists.saig.es/mailman/listinfo/kosmo
_______________________________________________ Kosmo mailing list [email protected] http://lists.saig.es/mailman/listinfo/kosmo
