我有一个简单的静态方法,当给定一个数字列表时,必须创建一个持有直方图的JFrame
。
我使用SwingWorker
(doInBackground()
执行数字运算,done()创建框架和ChartPanel
。
现在我想将done()
中创建的JFrame的引用(或者Future)返回给调用此静态方法的人。有办法吗?
我说要返回一个Future,因为很明显JFrame仅在done()
方法完成后才存在。
答案 0 :(得分:2)
作为等待done()
的替代方法,请在EDT上创建框架和图表面板publish()
中间结果,并在process()
中更新图表的数据集。如此example所示,图表会侦听数据集中的更改,并应自动更新。