Wie starten Sie eine JavaFX-Anwendung, wenn auf eine Schaltfläche geklickt wird

Ging ich durch fast jeden Beitrag hier in Bezug auf die Sache, aber die meisten von Ihnen nicht erklären, was zu tun richtig.
Auf die Frage:

Erstellte ich eine javaFX-Anwendung, ein Würfel-Spiel, menschliche Spieler gegen computer, aber während jeder Zeit während des Spiels, das menschliche Spieler sollte in der Lage sein, um klicken Sie auf die Schaltfläche "neues Spiel" und was Sie tun sollten, ist, starten Sie das Spiel von Anfang an.

Ich versuchte Wiederbelebung der Bühne wieder, aber in javafx können wir nicht nennen, die Start-Methode zweimal.

1)gibt es eine Möglichkeit, kann ich dies umsetzen, ohne einen Neustart der gesamten Anwendung?

2)wenn nicht, wie kann ich die Anwendung neu starten, komplett mit einem button-Klick?

Main-Klasse

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

    gameUI.launch(GameUI.class, args);

}   

GameUI
(ich entfernt viele codes aus dieser Klasse um es kurz zu machen. codes, die ich denke, genug um eine Vorstellung zu geben, ist im Lieferumfang enthalten. sorry wenn es zu lang ist.)

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 ich bin sehr neu in JavaFX und etwas neues zu java-Programmierung.

InformationsquelleAutor Raveen Athapaththu | 2016-01-14

Schreibe einen Kommentar