Dipende dallo scenario. Allora tu hai un frame, in ingresso questo frame ha caricato il pannello index, al verificarsi di un evento(click sul bottone,scelta da menu, ecc) nel frame viene sostituito index con un pannello che chiamiamo p1, ha un bottone chiudi e quando chiudi vorresti tornare a index. Quindi ho nel listener del bottone chiudi metti del codice per rivisualizzare l'index o usi un JLayeredPane .
Nella seconda delle ipotesi carichi il pannello a livello piu' basso e carichi gli altri pannelli sopra. Quando chiudi il pannello sopra dovresti rivedere il pannello sotto che e' index.
P.s. con setVisible(false) non chiudi il pannello, ma lo rendi invisibile. Per chiuderlo usa dispose().