沧州商贸行业网站建设,简单的wordpress主题,厦门做网站企业,给个网站最新的2021宁愿这是一个非常简单的概念,但是由于我对JavaFX的并发性完全陌生.我一直在努力理解这个概念.在构建一个非常简单的JavaFX应用程序时,我想在后台执行一些冗长的任务,并使UI免受冻结.在下面的示例中,我试图创建一个简单的后台任务服务,然后使用ControlsFX Dialog在主UI窗口上显示…宁愿这是一个非常简单的概念,但是由于我对JavaFX的并发性完全陌生.我一直在努力理解这个概念.在构建一个非常简单的JavaFX应用程序时,我想在后台执行一些冗长的任务,并使UI免受冻结.在下面的示例中,我试图创建一个简单的后台任务服务,然后使用ControlsFX Dialog在主UI窗口上显示进度栏.但是,我想知道如何为该服务提供一些输入参数并从中获取布尔输出.这在C#BackgroundWorker中确实很简单,但是在JavaFX中仍然无法弄清楚.任何提示将是一个很大的帮助.尝试了这个简单的例子public void runTask(Stage stage) throws URISyntaxException, IOException {Service service new Service() {Overrideprotected Task createTask() {return new Task() {Overrideprotected Void call() throws InterruptedException, URISyntaxException, IOException {// some time consuming task here// use the input arguments and perform some action on it// then set the process result to a Boolean and return after the task is completed// also keep hold back any other process to from executing on UIreturn null;}};}};Dialogs.create().owner(stage).title(Performing Task!).masthead(Please wait...).showWorkerProgress(service);service.setOnSucceeded(new EventHandler() {Overridepublic void handle(WorkerStateEvent event) {System.out.println(done: event.getSource().getValue());}});service.setOnFailed(new EventHandler() {Overridepublic void handle(WorkerStateEvent event) {throw new UnsupportedOperationException(Failed.); //To change body of generated methods, choose Tools | Templates.}});service.setOnCancelled(new EventHandler() {Overridepublic void handle(WorkerStateEvent event) {throw new CancellationException(Cancelled.); //To change body of generated methods, choose Tools | Templates.}});service.start();}