Javafx 按钮在第一次调用后没有响应(我在任务线程中调用方法)



>我已经初始化了parseBtn onAction,但是因为parseFunction中的工作将超过一分钟,所以我创建了Task来在新Thread(task(.start((中工作,该函数在后台工作,但是完成parseBtn后不再响应。

我认为因为另一个线程中的工作,按钮不会通知工作已完成

@FXML private Button parseBtn;
public void initialize(){
parseBtn.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
new Thread(task).start();
}
});
}
Task<Void> task = new Task<Void>() {
@Override
public Void call() throws Exception {
//do something
return null;
}
};

任务内的进程已完成,但按钮不再响应

我找到了解决方案,我的错误是任务不能多次调用。

class parser extends Thread{
@Override
public void run() {
//work to do
}
}
public void initialize(){
parseBtn.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
parser p = new parser();
p.start();
}
});
}

最新更新