Sto mettendo insieme un'applicazione Swing in cui spesso desidero sostituire i contenuti di un JPanel. Per fare questo, sto chiamando removeAll()
, quindi aggiungendo il mio nuovo contenuto, quindi chiamando revalidate()
.
Tuttavia sto scoprendo che il vecchio contenuto è ancora effettivamente visibile (sebbene oscurato dal nuovo contenuto). Se aggiungo una chiamata repaint()
in aggiunta a revalidate()
, funziona come previsto.
Sono sicuro che in altre occasioni ho sperimentato che basta chiamare revalidate()
.
Quindi in sostanza la mia domanda è: dovrei chiamare entrambe le funzioni e, in caso contrario, quando dovrei chiamare ciascuna di esse?