希望在单击按钮时首先更新 GUI,但是 Platform.runLater 在稍后阶段执行,并且正在寻找在单击按钮时首先更新 GUI 的代码段。
Platform.runLater(new Runnable() {
@Override
public void run() {
//Update GUI here
}
});
如果有人可以提供任何意见或建议,我们将不胜感激。
最佳答案
尽管 API 指定 Platform.runLater
“在未来某个未指定的时间在 JavaFX 应用程序线程上运行指定的 Runnable”,但通常只需要很少的时间甚至不需要时间来启动指定的线程。被执行。相反,您只需向按钮添加一个 EventHandler 即可监听鼠标点击。
假设 Controller 实现可初始化
@FXML Button button;
@Override
public void initialize(URL fxmlFileLocation, ResourceBundle resources) {
button.setOnMouseClicked(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent event) {
updateGUI();
}
});
}
private void updateGUI() {
// code
}
关于java - 单击按钮后更新 GUI : JavaFX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25146650/