小编gab*_*390的帖子

等待然后接收文本字段输入而不冻结GUI

我希望我不会重复一个问题,但我找不到专门针对我的问题.我正在开发一个小型数学闪存卡应用程序,使用JavaFX创建GUI.该计划应如下运行:

  1. 用户选择设置,然后按开始按钮.
  2. gui显示用户输入的问题和文本字段.
  3. 用户在X秒内输入答案或gui自动移动到下一个问题 - 或者,用户可以通过按下一个按钮立即转到下一个问题.
  4. GUI显示得分和平均值.

问题getText()来自用户文本字段,只要按下开始按钮就会处理,而不会给用户输入答案的机会.在处理用户的答案之前,如何让程序等待X秒或者单击下一个按钮?这是我的代码:

//start button changes view and then runs startTest()
start.setOnAction(e -> {

        setLeft(null);
        setRight(null);

        setCenter(test_container);
        running_program_title.setText(getDifficulty().name() + " Test");
        buttons_container.getChildren().clear();
        buttons_container.getChildren().addAll(next, quit, submit);

        startTest();
    });
Run Code Online (Sandbox Code Playgroud)

这是问题代码......至少我是怎么看的.

//startTest method calls askAdd() to ask an addition question
void startTest() {

    int asked = 0;
    int correct = 0;

    while (asked < numberOfQuestions) {
        if(askAdd()){
        correct++;
        asked++;
    }
}

boolean askAdd() {

    int a = (int) …
Run Code Online (Sandbox Code Playgroud)

java user-interface multithreading javafx freeze

5
推荐指数
1
解决办法
1096
查看次数

标签 统计

freeze ×1

java ×1

javafx ×1

multithreading ×1

user-interface ×1