我正在开发一款小游戏,希望用户自己设置它的宽度和高度。
...
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行中的用户输入。
答案 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();
}