java - 通过 JavaFX 设置用户输入的值

标签 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;
...

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/

相关文章:

java - 集群环境下的Spring调度器

java - 如果要从需要 api key 的 Web 服务检索数据,如何使用 Spring?

Java - 无法看到包内的类

JavaFX FXML Controller 类访问主类中的函数?

java - 使用箭头键移动圆圈 - Java

java - 无法理解 : @EnableWebMvc and <annotation-driven/> 之间的行为差​​异

java - 如何覆盖 Jboss 5.1 lib/endorsed 目录中的 jar?

java - AdoptOpenJDK8 找不到 Openjfx 包,即使它是依赖项

java - 在initialize()中加载FXML

java - 在 FXML 文档中使用自定义控件