假设我有一个副线程,在某些情况下,应该执行 primaryStage.show() 方法。我该如何实现呢?
public class Main extends Application {
private Stage stage;
public static void main(String args[]) {
launch(args);
}
public void start(Stage primaryStage) {
AnchorPane a1 = new AnchorPane();
stage = primaryStage;
primaryStage.setScene(new Scene(a1, 200, 200));
}
public class Run implements Runnable {
@Override
public void run() {
stage.show();
}
}
}
如果您需要从JavaFX 应用程序线程外部更新 UI,您应该使用
Platform.runLater().与 lambda 的变体
变体与
Runnable可以在任何线程上进行此调用。
我个人使用 AnimationTimer 或 Platform.runLater 从 JavaFx 线程更改 UI,但主要是 AnimationTimer
出于某种原因,我还没有在任何地方使用过 runLater,但我试过了
还有更多方法与任务相关,但我没有尝试过,因为它很复杂