[JavaSOS] itemStateChanged en JComboBox q se ejecuta dos veces

4,497 views
Skip to first unread message

Duilio

unread,
Apr 27, 2010, 2:06:53 PM4/27/10
to JavaSOS
Hola tengo un preblema en el cual cuando cambio de un item a otro en
un jcombobox el contenido del metodo itemstatechanged se ejecuta dos
veces o sea si se fijan en el codido q puse aqui abajo dos veces me
muestra por consola el contenido de fCalculo por cada ves q hago un
cambio.
Por favor si alguien pudiera ayudarme porque la verdad no he podido
solucionarlo.
Muchas gracias por su tiempo
Saludos
Duilio

oJComboBoxFormaCalculoGanancia.addItemListener(new
java.awt.event.ItemListener() {
public void itemStateChanged(java.awt.event.ItemEvent e) {
String fCalculo =
oJComboBoxFormaCalculoGanancia.getSelectedItem().toString();
System.out.println(fCalculo);
if(!(fCalculo.equals("Seleccione Forma de Calculo"))){
calculaPrecioVenta();
}
else{
oJTextFieldPrecioVenta.setText("0");
}
}
});

--
www.JavaSOS.com
Grupo de colaboración Java/J2ee para desarrolladores de habla hispana.

Subscription settings: http://groups.google.com/group/javasos/subscribe?hl=es

Roberto Capone

unread,
Apr 27, 2010, 2:20:23 PM4/27/10
to jav...@googlegroups.com
Me da la sensación que registraste dos listeners en el combo. Fijate en qué otro lugar del código hacés:

oJComboBoxFormaCalculoGanancia.addItemListener(new ItemListener)

Beto

2010/4/27 Duilio <duilio...@gmail.com>



--
Roberto C. Capone
http://twitter.com/robertocapone

Duilio Bacalor

unread,
Apr 27, 2010, 2:33:30 PM4/27/10
to jav...@googlegroups.com
Hola Beto gracias por tu ayuda pero lamentablemente vos sabes q no es eso la verdad es algo realmente raro .
Gracias igual 
Saludos
Duilio

Marcelo Velazquez

unread,
Apr 27, 2010, 3:37:02 PM4/27/10
to jav...@googlegroups.com
Se ejecuta dos veces por que se ejecuta el evento de itemstatechanged,
Ejemplo:
Esta en true cuando lo señalas y al elegir otro combo pasa a false.

Duilio Bacalor

unread,
Apr 27, 2010, 3:47:26 PM4/27/10
to jav...@googlegroups.com
Hola Marcelo desde ya gracias por tu tiempo, y disculpa por ahi mi ignorancia pero vos decis que el evento itemsstatechanged se ejecuta inlcuso cuando el combobox toma el foco porque yo pense q se ejecutaba solo al cambiar de item ?. Gracias otra ves y saludos

Alberto M. Vernieri

unread,
Apr 27, 2010, 3:47:45 PM4/27/10
to jav...@googlegroups.com
Hola!

    public void itemStateChanged(java.awt.event.ItemEvent e) {

            String fCalculo = oJComboBoxFormaCalculoGanancia.getSelectedItem().toString();
--------------------------------------------------------
Alberto


2010/4/27 Duilio <duilio...@gmail.com>

Alberto M. Vernieri

unread,
Apr 27, 2010, 3:52:05 PM4/27/10
to jav...@googlegroups.com
Hola!

Sorry, se me escapó mientras lo estaba escribiendo...

Cuando cambias el item de una combo el evento se produce dos veces:
1) Se DESELECTciona el item actual
2) Se SELECTciona el item nuevo

Así podes filtrar solo los eventos de selección y no los de deselección:

Saludos
--------------------------------------------------------
Alberto


2010/4/27 Alberto M. Vernieri <aver...@gmail.com>
Hola!

    public void itemStateChanged(java.awt.event.ItemEvent e) {
        if (e.getStateChange == ItemEvent.SELECTED) {
            String fCalculo = oJComboBoxFormaCalculoGanancia.getSelectedItem().toString();
               // todo el resto de tu proceso...

Alberto M. Vernieri

unread,
Apr 27, 2010, 3:54:39 PM4/27/10
to jav...@googlegroups.com
Hola de nuevo...

Otra más, porque me olvidé los paréntesis...
    if (e.getStateChange() == ItemEvent.SELECTED) {

Espero que sea la última... Mensaje accidentado, si los hubo...

Duilio Bacalor

unread,
Apr 27, 2010, 4:07:40 PM4/27/10
to jav...@googlegroups.com
Gracias alberto lo voy a probar. Saludos

Marcelo Velazquez

unread,
Apr 27, 2010, 4:09:05 PM4/27/10
to jav...@googlegroups.com
Bueno Alberto, la intencion es lo importante.
Dulio te adjunto una url que utilice en el firefox donde encontraras mas info sobre este evento.

http://www.google.com.ar/search?client=firefox-a&rls=org.mozilla%3Aes-ES%3Aofficial&channel=s&hl=es&source=hp&q=itemStateChanged&meta=&btnG=Buscar+con+Google

El 27 de abril de 2010 16:54, Alberto M. Vernieri <aver...@gmail.com> escribió:

Duilio Bacalor

unread,
Apr 27, 2010, 4:14:57 PM4/27/10
to jav...@googlegroups.com
Se que soy repetitivo con las gracias :) pero me parece importante agradecer la ayuda , Gracias Alberto hace poco q estoy con java y toda la ayuda para mi es importante.
Saludos
Duilio
Reply all
Reply to author
Forward
0 new messages