千家信息网

SwingWorker任务怎么用

发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,这篇文章主要为大家展示了"SwingWorker任务怎么用",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"SwingWorker任务怎么用"这篇文章吧。Sw
千家信息网最后更新 2026年11月04日SwingWorker任务怎么用

这篇文章主要为大家展示了"SwingWorker任务怎么用",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"SwingWorker任务怎么用"这篇文章吧。

SwingWorker任务队列

RemoteTable用一个QueuedExecutor调度它的SwingWorker任务,QueuedExecutor在单个线程中顺序执行所有的任务。(QueuedExecutor是DougLea的util.concurrent包的一部分,请参见后面的"参考资料"部分。)远程模型用RMI回调操作通知它的监听器。
为了支持可视的反馈,RemoteTable发送Task事件给注册的Task监听器。在任务进入调度时,监听器的taskStarted()被调用,taskEnded()在任务完成时被调用。客户端演示程序使用这些事件来启动或停止一个小动画并更新状态来。

执行次序

表示的是单元格的更新过程。执行过程的开始和结束都位于左边的事件派发线程。SwingWorker任务则在右边的executor的线程中执行。Worker的finished()方法的执行过程没有表示出来。

SwingWorker任务简化

简单起见,远程模型并没有对互相冲突的编辑提供保护。所以在同一时刻仅能有一个编辑器在运行。(并发编辑可以用添加请求ID(requestIDs)的方法来实现。)
所作的另一项简化决定是客户端和服务器必须预先对表的列结构协商好。换句话说,服务器性客户端提供行数据,而客户端必须已经知道他们要处理的是什么表。演示用的客户端用DefaultModelTemplate来预先定义了各列的名称和类,来确定哪个单元格可以被编辑。(在演示程序中,前两列是不可编辑的。)
本节的余下部分阐述了类结构和实现。如果不想了解这个演示程序中所用的修订版的SwingWorker,你可以跳过去。"下载"一节解释了如何下载并运行这个演示程序。

SwingWorker任务实现

远程模型实现了RemoteTableModel接口,这个接口和AbstractTableModel很相似,除了它的所有方法都会抛出异常。要启动一个客户端,远程表模型发送一个完全更新事件给客户端已注册的的监听器。
RemoteTableModelAdapter配接任意的TableModel到一个RemoteTableModel。演示程序中的表模型取自TheJavaTutorial,但插入了一些延迟来模拟实际情况。远程表模型事件包含已更新的单元格的值。
RemoteTable 组件用一个DefaultRemoteTableModelListener来接受来自远程模型的回调。这个监听器会在事件派发线程中更新本地模型。因为远程模型可能要通知插入或删除某些行,所以监听器要求本地模型支持插入和删除操作,DefaultTableModel满足这个要求。

以上是"SwingWorker任务怎么用"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

任务 模型 客户 客户端 事件 监听器 演示 监听 程序 更新 线程 内容 单元 方法 篇文章 过程 接口 服务器 结构 部分 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 中智农互联网科技 互联网核心科技是什么 亿策互联网科技 南京欣网互联网科技 新浪科技互联网 美国互联网前沿科技 衡水科技产业互联网平台 阿里巴巴算科技企业还是互联网 互联网时代科技改变生活 互联网科技有哪些公司 互联网科技与大数据专业 为客找房互联网科技公司怎么样 北京市互联网新科技 浙南科技城互联网大厦招聘 九思连强互联网电子科技有限公司 互联网科技新闻 青岛易易互联网科技 广东猫王互联网科技有限公司电话 利用互联网等科技手段 每日互联网科技新闻 互联网与科技 互联网科技工作委员会主任 新华互联网科技学校 中国 科技 互联网 友谊互联网络科技 湖南洣水互联网科技有限公司扣款 剑昆互联网络科技有限公司临桂 崇明区互联网教育科技售后服务 九思连强互联网电子科技有限公司 北京军民互联网科技公司
0