混合线程中的Swing Worker用法

时间:2014-04-10 07:35:39

标签: java multithreading swing jprogressbar

我有一个GUI,它由一个工具栏组成,每个按钮调用不同的类。我调用的类由UI组件组成,这些组件显示在主GUI的Internal框架中。 Invoked类作为一个单独的线程工作,必须执行以下功能。

  1. 向客户端触发命令,以便客户端开始发送 文件的内容。
  2. 在此处接收文件内容,对其进行过滤并将其添加到JTable中。
  3. 在文件内容传输过程中必须显示进度条。
  4. 将表格添加到表格后显示用户界面。
  5. 我是Swing worker的新手,所以有人可以帮助我了解它的工作原理以及使用Swing Worker和Invoke later函数的优点。我跟踪了oracle站点和其他几个站点中的示例,但我无法看到它对我的类如何工作。

1 个答案:

答案 0 :(得分:1)

SwingWorker有......

  • 通过PropertyChange支持
  • 内置的进度更改功能
  • 有辅助方法,可让您通过publishprocess方法同步更新到用户界面,从而大大简化了流程...
  • 一个独立的工作流程概念,使(通常)比滚动自己更容易使用。规则有例外,但你的大纲不适合那些例外(恕我直言) - 这既是优点和劣势......

例如......

SwingWorker的一个(可能的)缺点是它只允许(我相信)10名工人同时被执行