Ascolta, mantenendo quei due frame come hai mostrato prima, quello che tecnicamente si potrebbe fare è questo:
1) In prova_main metti un metodo public es. reset() che va a resettare lo stato del frame (banalmente in questo caso basta azzerare il contenuto del JTextField con un setText, nulla di più).
2) In prova_main quando vai a creare prova andrai ora a fare new prova(this)
Ovvero passi a prova il riferimento alla istanza di prova_main.
3) In prova dovrai ovviamente aggiornare il costruttore per ricevere il riferimento a prova_main e tenertelo in una variabile di istanza privata.
4) Quando in prova viene scelto "RIPROVA", chiudi questo frame prova e invochi reset() sul riferimento a prova_main
Il risultato è appunto un effetto di "riavvio". Ma in senso concettuale ... tecnicamente di per sé non "riavvii" un bel nulla.