请记住,该按钮
onAction在JavaFX线程上被调用,因此您实际上将UI线程暂停了5秒钟。在这五秒钟的末尾取消冻结UI线程时,将同时应用这两个更改,因此最终只能看到第二个。
您可以通过在新线程中运行以上所有代码来解决此问题:
Button button = new Button(); button.setonAction(event -> { Thread t = new Thread(() -> { Platform.runLater(() -> field.setText("START")); try { Thread.sleep(5000); } catch (InterruptedException ex) { Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex); } Platform.runLater(() -> field.setText("END")); }); t.start(); });


