2016-07-22 10 views
1

Ich arbeite an einem kleinen Spiel und möchte, dass der Benutzer die Breite und Höhe selbst einstellen kann.Setze Werte der Benutzereingabe über JavaFX

... 
public void start(Stage stage) throws Exception { 

    TextInputDialog dialog = new TextInputDialog("800"); 
    dialog.setTitle("Es war ein Mal..."); 
    dialog.setHeaderText("... ein Spieler der sich ein Spielfeld auserwählte."); 
    dialog.setContentText("Wie breit soll das Spielfeld sein?"); 
    Optional<String> result = dialog.showAndWait(); 
    if (result.isPresent()){ 
     public static int W = result.get(); 
    } 

    scene = new Scene(createContent()); 
    stage.setTitle("Le Minesweeper!"); 
    stage.setScene(scene); 
    stage.show(); 
} 

private static final int Felder_Gr = 40; 
//private static int W = 800; 
//private static int H = 600; 

private static final int X_FelderS = W/Felder_Gr; 
private static final int Y_FelderS = H/Felder_Gr; 
... 

Mit // private statische int W = 800; Ich stelle es statisch, sondern wollen, dass es mit der Benutzereingabe in Zeile 10.

+1

Breite und Höhe, was, und es könnte besser UX sein, dem Benutzer zu ermöglichen, um die Größe des Fensters zu ändern, anstatt es in einem Textfeld beim Start festzulegen. – Un3qual

Antwort

0
ersetzt werden

Ihr Code wie folgt umschreiben:

public static double W; 
private static double X_FelderS; 
private static final int Felder_Gr = 40; 

    @Override 
    public void start(Stage stage) throws IOException { 
    TextInputDialog dialog = new TextInputDialog("800"); 
    dialog.setTitle("Es war ein Mal..."); 
    dialog.setHeaderText("... ein Spieler der sich ein Spielfeld auserwählte."); 
    dialog.setContentText("Wie breit soll das Spielfeld sein?"); 
    Optional<String> result = dialog.showAndWait(); 
    if (result.isPresent()) { 
      W = Double.parseDouble(result.get()); 
      X_FelderS = W/Felder_Gr; 
     } 

     scene = new Scene(createContent()); 
     stage.setTitle("Le Minesweeper!"); 
     stage.setScene(scene); 
     stage.show(); 

    } 
+0

Leider gibt es mir ein leeres Feld. –

Verwandte Themen