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

problema con JList.

Estas en el tema de problema con JList. en el foro de Java en Foros del Web. El tema es el siguiente, tengo un JList al que lleno con una Lista, se llena lo mas bien, el problema es que la JList ...
  #1 (permalink)  
Antiguo 14/07/2014, 17:31
 
Fecha de Ingreso: julio-2009
Mensajes: 28
Antigüedad: 14 años, 10 meses
Puntos: 0
problema con JList.

El tema es el siguiente, tengo un JList al que lleno con una Lista, se llena lo mas bien, el problema es que la JList responde a 2 eventos, cuando se hace clic y cuando se suelta, osea cuando declaro el metodo jList1ValueChanged, me lo ejecuta dos veces, como hago para modificar ese comportamiento?

Dejo un ejemplo por si no quedo muy claro:

La JList tiene: "Juan", "Rodrigo"
el evento de jList1ValueChanged es el siguiente:
Código:
System.out.println(this.jList1.getSelectedValue().toString());
y en la consola aparece "Juan" dos veces cuando lo selecciono de la JList

Desde ya muchas gracias.
  #2 (permalink)  
Antiguo 16/07/2014, 15:25
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 3 meses
Puntos: 260
Sonrisa Respuesta: problema con JList.

Hola,

Cita:
Iniciado por shin18 Ver Mensaje
... osea cuando declaro el metodo jList1ValueChanged, me lo ejecuta dos veces, como hago para modificar ese comportamiento?
Pues posiblemente tienes dos opciones,

Cuando un componente de este tipo recibe muchos eventos, cambia una variable interna para indicar que está procesando la información. Como los Scroll Bars y otros componentes, así que podrías usar algo así:

Código Java:
Ver original
  1. public void valueChanged(ListSelectionEvent evt) {
  2.   if (!evt.getValueIsAdjusting()) {
  3.     System.out.println(String.valueOf(jList1.getSelectedValue()));
  4.   }
  5. }

La otra es que no uses el evento ValueChanged, sino el evento mouseReleased, algo así:

Código Java:
Ver original
  1. public void mouseReleased(java.awt.event.MouseEvent evt) {
  2.   if (jList1.getSelectedValue() != null) {
  3.     System.out.println(jList1.getSelectedValue());
  4.   }
  5. }

Me imagino que hay otras formas de hacer lo mismo,

Saludos,

Etiquetas: metodo
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 09:12.