我正在使用Netbeans制作Java桌面应用程序 . 我是桌面应用程序的新手,我对Java ether并不是那么好 .
我有一个JLabel,其计数值需要一两分钟来计算 . 该值是计算机上的总文件数 .
我有一个Master类,它有一个用于计算文件的方法,另一个用于将JFrame设置为visible,并将计数值传递给JFrame类,然后将其分配给JLabel .
This is what I want:
-
立即将JFrame设置为可见,而无需等待计算 .
-
到目前为止显示计数值并每秒更新一次,直到完成计数计算 .
我会用什么代码来做这件事?
1 回答
阅读Concurrency上Swing教程中的部分 . 您可以使用SwingWorker在后台执行长时间运行的任务 . 然后,您定期发布值,并使用setText()方法更新GUI .