任务完成后,JavaFX执行代码

鲁农

我正在为我的应用程序使用JavaFX,并且正在使用JavaFX中的Task来上传文件。

public class Upload extends Task<UploadFile> {  
   private UploadFile uploadFile;     
   public Upload(UploadFile uploadFile){
        this.uploadFile= uploadFile;
    }

    @Override
    protected synchronized UploadFile call() throws Exception {
        ....
            hcl.invokeMethodUploadFile(uploadFile);
            return null;
    }
}

方法“启动”创建一个UploadFile-Container并将其添加到Threadpoolexecutor的队列中。该方法将对每个文件执行一次。此类还包含其他和必要的信息,以在文件上传完成后继续进行。

public void initiate(){

        UploadFile uc = new UploadFile(file);
        // Set other informations as well

   // add Container to queue
        main.getUploadFiles().add(uc);

    } 

UploadFile是一个包含有关文件,服务器信息等信息的类。
除其他外,我想在上传完成后将url插入数据库中。文件上传后如何执行一些代码?

詹姆斯_D

创建任务时,大概可以在其中完成某项任务

Upload upload = new Upload(uc);

你可以做

upload.setOnSucceeded(e -> {
    // this code executed when task is successfully completed
    // this is executed on the FX Application Thread, so you can
    // safely modify the UI
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章