文档

Java™ 教程
隐藏目录
绑定属性和状态方法
路径: 使用Swing创建GUI
教程: Swing中的并发
章节: 工作线程和SwingWorker

绑定属性和状态方法

SwingWorker支持绑定属性,这对于与其他线程进行通信非常有用。两个绑定属性是预定义的:progressstate。与所有绑定属性一样,progressstate可以用于在事件分派线程上触发事件处理任务。

通过实现属性更改监听器,程序可以跟踪progressstate和其他绑定属性的变化。有关更多信息,请参阅如何编写属性更改监听器编写事件监听器

progress绑定变量

progress绑定变量是一个int值,范围从0到100。它有一个预定义的设置方法(受保护的SwingWorker.setProgress)和一个预定义的获取方法(公共SwingWorker.getProgress)。

ProgressBarDemo示例使用progress来从后台任务更新ProgressBar控件。有关此示例的详细讨论,请参阅如何使用进度条使用Swing组件

state绑定变量

state绑定变量指示SwingWorker对象在其生命周期中的位置。绑定变量包含SwingWorker.StateValue类型的枚举值。可能的值有:

PENDING
对象构造之后到doInBackground调用之前的状态。
STARTED
doInBackground调用之前到done调用之前的状态。
DONE
对象存在期间的状态。

state绑定变量的当前值由SwingWorker.getState返回。

状态方法

作为Future接口的一部分,还有两个方法可以报告后台任务的状态。正如我们在取消后台任务中看到的那样,如果任务已取消,则isCancelled返回true。此外,如果任务已完成(无论是正常完成还是被取消),isDone返回true


上一页: 取消后台任务
下一页: 问题和练习:Swing中的并发性