Pregunta

Tengo una aplicación Java swing con un panel que contiene tres JComboBoxes que no se dibujan correctamente.
Los cuadros combinados simplemente aparecen como la flecha hacia abajo en el lado derecho, pero sin la etiqueta del valor seleccionado actualmente.
Los cuadros se volverán a dibujar correctamente si se cambia el tamaño de la ventana, ya sea más grande o más pequeña, incluso en un píxel.

Todas mis búsquedas en Google han apuntado a llamar revalidate() sobre el JPanel para solucionar este problema, pero eso no ha funcionado para mí.
Vocación updateUI() sobre el JPanel ha cambiado de mostrarse siempre incorrectamente a mostrarse incorrectamente la mitad del tiempo.

¿Alguien más ha visto esto y ha encontrado una forma diferente de forzar un nuevo dibujo de los cuadros combinados?

¿Fue útil?

Solución

¿Puede darnos más información sobre cómo agregar los cuadros combinados al JPanel?Esto es algo bastante común en Swing, así que dudo que sea un problema de JVM, pero supongo que todo es posible.

Específicamente, verificaría dos veces para asegurarme de que no esté accediendo a la GUI desde ningún hilo en segundo plano.En este caso, tal vez esté leyendo las opciones de una base de datos o algo así y actualizando JComboBox desde un hilo en segundo plano, lo cual es un gran no-no en Swing.Consulte SwingUtils.invokeLater().

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top