validate(): No Swing, ao criar um componente, ele não é, validou seja, sua propriedade válida é false. Um componente é considerado válido quando sua largura, altura, localização e material foram determinados. Isso geralmente é feito chamando seu validate()método, direta ou indiretamente. Quando chamamos validate()contêineres, ele validará o contêiner (se for inválido) chamando seu doLayout()método, que normalmente invocará o LayoutManager. Agora, cada filho colocado neste contêiner será validado recursivamente, de forma que toda a árvore seja disposta e se torne válida.
revalidate(): revalidate()deve ser chamado quando você altera um atributo que afetaria sua largura / altura e repaint () quando você altera um atributo que afetaria sua aparência. Por exemplo, se o seu JFramecontém um JPanel, agora em um determinado momento você o removeu JPanele inseriu um novo em seu lugar, dependendo do conteúdo do recém-colocado JPanel, do tamanho dos componentes dentro do JPanele dele The CONTAINERpróprio (em virtude do gerenciador de layout usado por ele), alterações. O que o leva ao estado inválido. Portanto, para validar essa mudança, você deve chamar explicitamente revalidate().
invalidate(): Isso é algo que eu nunca usei, então pode não haver muitas informações que eu possa fornecer sobre isso. Mas parece que os cenários apresentados acima podem dar uma pequena dica sobre o que acontece ao usar invalidate().
revalidate()não chamadoLayout(), o quevalidate()faz. Portanto, não é realmente uma soma de ambos -revalidatenem sempre é um substituto válido paravalidate.