gpt4 book ai didi

java - 如何在继续之前确保 UI 更新

转载 作者:行者123 更新时间:2023-11-30 06:32:18 26 4
gpt4 key购买 nike

我是 JavaFX 新手,我有一个按钮可以启动和对象并使用它执行一些方法。问题在于,直到对象执行方法之后,UI 才会更新。当我单击按钮时,GUI 没有响应(标题栏中显示“(未响应)”。方法完成后,UI 会更新。我能看到解决此问题的唯一方法是等待 UI更新然后执行方法。还有其他方法吗?如何解决这个问题?

Object myObj;
btn.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
/* some ui updates */
myLabel.setText("something");
try {
/* try initiating object and doing some methods with them */
myObj = new Object();
myObj.doMethod();

最佳答案

您必须为耗时的方法创建一个新线程:(我还使用 lambda 表达式重写您的代码...Java8 风格;))

Object myObj;
btn.setOnAction((ActionEvent event)->{
/* some ui updates */
myLabel.setText("something");
try {
/* try initiating object and doing some methods with them */
Runnable timeConsumingTask = ()-> {
myObj = new Object();
myObj.doMethod();
}
Thread thread = new Thread(timeConsumingTask);
thread.start();

关于java - 如何在继续之前确保 UI 更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45851793/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com