Я новичок в JavaFX и понимаю, что в Swing / JFrames есть возможность обновить экран с помощью метода validate.Существует ли эквивалентный метод в библиотеке JavaFX для этапов?Когда я выполняю Thread.sleep () в следующем коде и обновляю размер и местоположение этапа, этап загружается по истечении времени и затем мгновенно перемещается.Это не то, что я хотел.Я надеялся на загрузку сцены, ожидание времени, а затем обновление местоположения и размера.Что именно здесь не так?Спасибо!
import javafx.application.Application;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.concurrent.Worker;
import javafx.scene.Scene;
import javafx.scene.layout.VBox;
import javafx.scene.web.WebEngine;
import javafx.scene.web.WebView;
import javafx.stage.Stage;
public class Driver extends Application
{
public static void main(String [] args) throws Exception
{
launch(args);
}
@Override
public void start(Stage stage) throws Exception
{
// Create the WebView
WebView webView = new WebView();
// Create the WebEngine
final WebEngine webEngine = webView.getEngine();
// LOad the Start-Page
webEngine.load("https://www.reddit.com");
// Update the stage title when a new web page title is available
webEngine.getLoadWorker().stateProperty().addListener(new ChangeListener<Worker.State>()
{
public void changed(ObservableValue<? extends Worker.State> ov, Worker.State oldState, Worker.State newState)
{
if (newState == Worker.State.SUCCEEDED)
{
//stage.setTitle(webEngine.getLocation());
stage.setTitle(webEngine.getTitle());
}
}
});
// Create the VBox
VBox root = new VBox();
// Add the WebView to the VBox
root.getChildren().add(webView);
// Create the Scene
Scene scene = new Scene(root);
// Add the Scene to the Stage
stage.setWidth(200);
stage.setHeight(200);
stage.setScene(scene);
stage.setX(500);
stage.setY(500);
stage.show();
Thread.sleep(5000);
stage.setX(800);
stage.setY(200);
stage.setWidth(60);
stage.setHeight(60);
}
}