(JavaFX) Как сделать цикл «ничего не делать» - PullRequest
0 голосов
/ 12 марта 2019

Я новичок в Java и пытаюсь создать приложение, которое обновляет несколько ссылок, но я хочу дождаться полной загрузки каждой ссылки, чтобы проверить следующую.

Вотчто я пытаюсь сделать.

import javafx.concurrent.Worker;
import javafx.fxml.FXML;
import javafx.scene.control.TextField;
import javafx.scene.layout.VBox;
import javafx.scene.web.WebEngine;

public class browseController {
    @FXML
    private VBox flowPane;
    private WebEngine webEngine = new WebEngine();

    public void updateLinks() {
        // flowPane has 20+ TextFields that contains different links which awaits update
        flowPane.getChildren().forEach(item -> {
            webEngine.load(((TextField)item).getText());
            while (webEngine.getLoadWorker().getState() != Worker.State.SUCCEEDED) {
                //wait until the page is fully loaded then go for the next item
            }
            // verify if the link is different after update
            if (!((TextField)item).getText().equals(webEngine.getLocation()))
                ((TextField)item).setText(webEngine.getLocation());
        });
    }
}
...