我目前必须为我的 javaFX 程序做一些网络操作,这就是我现在做的:
- 1 个线程类
- 1 接口(interface)回调方法
- 1 个实现该接口(interface)的主类
我在 Main 类中实现它们,并通过其中有一个 Interface 对象的 Thread 类获取 onProgress()、onDone() 等更新。
但是在 android 中这个任务要容易得多,只需使用 AsyncTask 就可以了。
给你
//UI线程
- onPreExecute()
//后台线程
- doInBackground()
//UI线程
- onProgressUpdate()
//UI线程
- onPostExecute()
在 JavaFX 中是否也有以这种方式工作的类?我需要进度条的进度更新,我需要知道任务何时完成而不卡住 UI 屏幕。
最佳答案
我不是 Android 程序员,所以我无法验证这是否是直接等效项,但听起来您正在寻找 Task
class .
您可以创建一个Task
,然后在后台线程中将其用作Runnable
,或者将其提交给Executor
。您可以绑定(bind)到它的 progressProperty
或注册一个监听器您可以通过 setOnSucceeded
注册处理程序, setOnFailed
和类似的方法。
progressProperty
(和其他属性)在 FX 应用程序线程上更新(因此更新 UI 以响应其值的变化是安全的),状态事件的处理程序(成功、失败等)也会在 FX 应用程序线程上调用。
关于java - Android AsyncTask 的 JavaFX 等价物是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33878809/