![]() |
1
4
看来你可以利用 SwingWorker 编辑:示例 这里有一个更复杂的例子,展示了如何使用SwingWorker的基础知识,以及如何发布/处理中间结果。
|
![]() |
2
4
在新线程中运行时,请确保任何GUI更新都使用invokeAndWait或最好使用invokeLater返回EDT。 要记住的简单规则:
|
![]() |
3
1
您不应该在事件线程中访问inputStream。生成一个新线程,它实际执行handleDownload()的大部分工作,然后使该线程执行的最后一个操作是调用SwingUtilities.invokeLater(),并使用实际显示和填充对话框的代码。 |
![]() |
4
1
“手动下载”是做什么的?不应该在事件调度程序线程中执行耗时的操作。如果事件调度器线程中的某个东西占用了大量CPU周期,那么显示将冻结,直到完成为止。在这样的情况下,调用普通线程(不使用SwingUtilities)在事件调度程序线程之外进行处理,并在该线程中使用SwingUtilities.invokeLater定期发送已更改的通知(如更新进度条),这样的情况要好得多。 |
![]() |
5
1
|
![]() |
Jörg · 如何更改多行JButton中的行距 5 月前 |
![]() |
Clive Galway · 将摆动元件包装在面板顶部 10 月前 |
![]() |
Amir Mohsen · 为什么JOptionPane实例创建的消息未显示? 11 月前 |
![]() |
AlexHomeBrew · 如何将图像放在左上角的滚动窗格中 1 年前 |
![]() |
Vithor Roder · Java CellEditor 1 年前 |
![]() |
Dromlius · JPanel透支重叠的JComcoBox 1 年前 |