Riavviare nel senso di far terminare la applicazione e quindi il processo della JVM e poi rilanciare la JVM? Questo è un po' critico, generalmente non si fa. Perché la applicazione Java può essere avviata in svariati modi e soprattutto con specifiche opzioni (es. per il heap-space) per la JVM.
Lo si fa solo in quei casi in cui "a monte" c'è uno script/batch/eseguibile nativo che lancia la JVM in un modo prestabilito ben preciso e che può essere quindi facilmente rieseguito, ad esempio facendo in modo che la applicazione Java termini con un status code preciso (o segnalandolo in altro modo) per cui lo script/batch/eseguibile capisce che deve riavviare la applicazione.
Se invece intendi chiudere una finestra e ricreare il frame, questo sì è più facile e fattibile. Ma a parte questo, se intendi più banalmente "resettare" lo stato della applicazione o di una finestra, allora non c'è da "riavviare" un bel nulla. Basta solo cambiare lo stato di componenti e/o strutture dati in modo appropriato.