Domanda

Ho un'applicazione Java swing con un pannello che ne contiene tre JComboBoxes che non disegnano correttamente.
Le caselle combinate vengono visualizzate semplicemente come freccia giù sul lato destro, ma senza l'etichetta del valore attualmente selezionato.
I riquadri verranno ridisegnati correttamente se la finestra viene ridimensionata più grande o più piccola anche di un pixel.

Tutte le mie ricerche su Google hanno indicato una chiamata revalidate() sul JPanel per risolvere questo problema, ma non ha funzionato per me.
Chiamando updateUI() sul JPanel lo ha modificato da sempre visualizzato in modo errato a visualizzato in modo errato la metà delle volte.

Qualcun altro lo ha visto e ha trovato un modo diverso per forzare un ridisegno delle caselle combinate?

È stato utile?

Soluzione

Puoi darci qualche informazione in più su come aggiungere le caselle combinate al JPanel?Questa è una cosa abbastanza comune da fare in Swing, quindi dubito che sia un problema di JVM, ma immagino che tutto sia possibile.

Nello specifico, ricontrollerei per assicurarmi di non accedere alla GUI da alcun thread in background.In questo caso, forse stai leggendo le scelte da un DB o qualcosa del genere e aggiornando JComboBox da un thread in background, che è un grande no-no in Swing.Vedere SwingUtils.invokeLater().

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top