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?