2016-07-22 2 views
1

Я работаю над маленькой игрой и хочу, чтобы пользователь установил ее ширину и высоту.Задайте значения пользовательского ввода через 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; 
... 

С помощью // private static int W = 800; Я его статичным, но хочу, чтобы заменить на входе пользователя в строке 10.

+1

Ширина и высота, что, и это могло бы быть лучше UX, чтобы позволить пользователю просто изменить размер окна и установить его в текстовое поле при запуске. – Un3qual

ответ

0

переписать код следующим образом:

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

К сожалению, это дает мне пустое поле. –