Pergunta

Eu tenho um aplicativo Java swing com um painel que contém três JComboBoxes que não desenham corretamente.
As caixas de combinação aparecem apenas como uma seta para baixo no lado direito, mas sem o rótulo do valor atualmente selecionado.
As caixas serão redesenhadas corretamente se a janela for redimensionada para maior ou menor em um pixel.

Todas as minhas pesquisas no Google apontaram para ligar revalidate() no JPanel para consertar isso, mas isso não funcionou para mim.
Chamando updateUI() no JPanel mudou de exibição sempre incorreta para exibição incorreta na metade das vezes.

Alguém mais viu isso e encontrou uma maneira diferente de forçar o redesenho das caixas de combinação?

Foi útil?

Solução

Você pode nos dar mais informações sobre como adicionar as caixas de combinação ao JPanel?Isso é algo muito comum de se fazer no Swing, então duvido que seja um problema de JVM, mas acho que tudo é possível.

Especificamente, eu verificaria novamente para ter certeza de que você não está acessando a GUI a partir de nenhum thread em segundo plano.Nesse caso, talvez você esteja lendo as opções de um banco de dados ou algo assim e atualizando o JComboBox a partir de um thread em segundo plano, o que é uma grande proibição no Swing.Consulte SwingUtils.invokeLater().

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top