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.
<<attachment: fabato.vcf>>
_______________________________________________ Kosmo mailing list [email protected] http://lists.saig.es/mailman/listinfo/kosmo
