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

Responder a