通过JavaFX

时间:2016-07-22 20:48:25

标签: java 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 个答案:

答案 0 :(得分: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();

    }