我正在开发一个小游戏,希望用户自己设置它的宽度和高度。
...
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;
...
With//private static int W = 800;我将其设置为静态,但希望将其替换为第 10 行中的用户输入。
最佳答案
重写您的代码如下:
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();
}
关于java - 通过 JavaFX 设置用户输入的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38535012/