Comment relancer une application JavaFX. quand on clique sur un bouton

Je suis passé par presque tous les post ici sur la question, mais la plupart d'entre eux n'a pas d'expliquer quoi faire correctement.
À la question:

J'ai créé un javaFX application, un jeu de dés, le joueur humain contre ordinateur, mais pendant tout le temps tout en jouant le jeu, le joueur humain doit être en mesure de cliquer sur le bouton "nouveau jeu" et ce qu'il doit faire est de recommencer le jeu depuis le début.

J'ai essayé de relancer le stade de nouveau, mais dans javafx nous ne pouvons pas appeler la méthode de lancement à deux reprises.

1)Est-il un moyen pour que je puisse mettre en œuvre ce, sans avoir à redémarrer l'ensemble de l'application?

2)si non, comment puis-je redémarrer l'application complètement à l'aide d'un clic de bouton?

Classe principale

public class Main {
public static void main(String[] args) {
    GameUI gameUI = new GameUI();

    gameUI.launch(GameUI.class, args);

}   

GameUI
(j'ai enlevé beaucoup de codes à partir de cette classe pour faire court. codes qui, je pense, assez pour donner une idée est inclus. désolé si c'est trop long.)

public class GameUI extends Application  {
//all btn and label declarations 
//creating instances for necessary classes
private Scene scene;
@Override
public void start(Stage primaryStage) throws Exception {
//Displaying Dice for Player and Computer
setLabelsPlyr(diesP);
setLabels(diesC);
btnThrow = new Button("Throw");
btnThrow.setPrefSize(70, 40);
//Throw action is performed
btnThrow.setOnAction(e -> {
//setting and displaying dies
DieClass[] com = getNewDiceArrC();  
lblDiceOneC.setGraphic(new ImageView(diesC[0].getDieImageC()));
//so on.....
DieClass[] playerAr = getNewDiceArrP();
lblDiceOnePlyr.setGraphic(new ImageView(diesP[0].getDieImageP()));
//so on...
});
btnNewGame = new Button("New Game");
btnNewGame.setOnAction(e -> {
**//WHAT TO DO HERE?????**
});
//setting layouts
GridPane gridPane = new GridPane();
gridPane.add(lblComputer, 0, 0);
//so on.....
Scene scene = new Scene(gridPane, 1100, 400);
primaryStage.setScene(scene);
primaryStage.setTitle("dice Game");
primaryStage.show();
}
//some other methods
public void setLabels(DieClass[] dies) {
for (int i=0; i < dies.length; i++) {
lblDiceOneC = new Label();
lblDiceOneC.setGraphic(new ImageView(dies[0].getDieImageC()));
++i;
//so on.....
break;
}
}
public void setLabelsPlyr(DieClass[] dies){
for (int i=0; i<dies.length; i++) {
lblDiceOnePlyr = new Label();
lblDiceOnePlyr.setGraphic(new ImageView(dies[0].getDieImageP()));
++i;
lblDiceTwoPlyr = new Label();
//so on......
break;
}
}

p.s je suis très nouveau à JavaFX et un peu nouveau pour la programmation java.

OriginalL'auteur Raveen Athapaththu | 2016-01-14