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

Forzar repintado de JPanel

Estas en el tema de Forzar repintado de JPanel en el foro de Java en Foros del Web. Buenas gente, tengo un problema q hace rato q no puedo solucionar. A ver si alguien me orienta un poco. Tengo una aplicación, en la ...
  #1 (permalink)  
Antiguo 23/06/2011, 17:06
 
Fecha de Ingreso: octubre-2008
Mensajes: 2
Antigüedad: 15 años, 6 meses
Puntos: 0
Pregunta Forzar repintado de JPanel

Buenas gente, tengo un problema q hace rato q no puedo solucionar. A ver si alguien me orienta un poco.

Tengo una aplicación, en la cual una de las partes es un cuestionario de 158 preguntas con 3 respuestas posibles cada una, por lo cual los componentes serían como se ve en la imagen (espero q se vea):



Aclaro que los 3 JRadioButton de cada pregunta (cada pregunta es un JPanel con un numero en la propiedad name), estan con un ButtonGroup. Existe un List con las preguntas y cada pregunta contiene un list con sus 3 respuestas.

El problema es cuando cargo las siguientes 12 preguntas, al darle click en el botón 'Siguientes 12' me quedan seleccionadas las respuestas de las 12 preguntas anteriores. El text del label de cada pregunta y el text de cada respuesta se cargan correctamente. Pero cuando quiero cambiar la opción que ya estaba elegida con el método setSelected del ButtonGroup, o que se elimine la respuesta en el caso de que la pregunta no tenga respuesta aún con el método clearSelection, el panel no se actualiza.

Por más de que llame a los métodos jpanel.repaint, jpanel.validate, jpanel.revalidate, super.pack().

La opción no se actualiza.

Espero que se entienda mi explicación, y si alguien se le ocurre una idea. Desde ya agradecido!
  #2 (permalink)  
Antiguo 26/06/2011, 23:46
Avatar de calichecal  
Fecha de Ingreso: junio-2009
Ubicación: Colombia
Mensajes: 288
Antigüedad: 14 años, 10 meses
Puntos: 12
Respuesta: Forzar repintado de JPanel

quedan seleccionados por que están asociados a un ButtonGroup, tienes que dejarlos sin nada.(nada de buttonGroup). para que así el método setSelected(false); surga el efecto deseado.

eso sucede por que una vez seleccionado un radioButton de un grupo ButtonGroup, en este grupo tiene que quedar siempre algún seleccionado.

y para controlar que no seleccionen mas de uno pues inhabilita todos los radio button, apenas se seleccione alguno, o algo por el estilo.
__________________
Hay una fuerza motriz más poderosa que el vapor, la electricidad y la energía atómica: la voluntad. -Einstein-

Última edición por calichecal; 26/06/2011 a las 23:51

Etiquetas: jpanel
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 16:53.