问题与练习:Swing 中的并发
原文: https://docs.oracle.com/javase/tutorial/uiswing/QandE/questions-concurrency.html
问题
- 对于以下每个任务,请指定应执行的线程以及原因。
- 初始化 GUI。
- 加载大文件。
- 调用
javax.swing.JComponent.setFont
来更改组件的字体。 - 调用
javax.swing.text.JTextComponent.setText
来更改组件的文本。
- 一组线程不用于上一个问题中提到的任何任务。命名此线程并解释其应用程序如此受限的原因。
SwingWorker
有两个类型参数。解释如何使用这些类型参数,以及为什么它们通常无关紧要。
演习
- 修改
Flipper
示例,使其在“硬币翻转”之间暂停 5 秒。如果用户单击“取消”,则硬币翻转循环立即终止。