Estou montando um aplicativo Swing, onde geralmente desejo substituir o conteúdo de um JPanel. Para fazer isso, estou ligando removeAll(), adicionando meu novo conteúdo e ligando revalidate().
No entanto, estou descobrindo que o conteúdo antigo ainda é realmente visível (embora obscurecido pelo novo conteúdo). Se eu adicionar uma chamada repaint()além de revalidate(), ela funcionará conforme o esperado.
Tenho certeza de que em outras ocasiões já experimentei que basta ligar revalidate().
Então, basicamente, minha pergunta é: devo chamar as duas funções? Caso contrário, quando devo chamar cada uma delas?