【发布时间】:2012-10-25 07:35:56
【问题描述】:
我有一个用于数据分析的应用程序。该应用程序的很大一部分是能够根据组装的数据显示图表,并能够在一次批处理操作中导出大量任务。到目前为止,我一直在使用 JFreeChart,但我想使用本机 JavaFX 图表,以便导出的图表看起来仍然与它们在应用程序屏幕上的外观相同。
我使用的是 JavaFX 2.2.1 (jdk 7u6)。
我能够在一批中生成图表,但这意味着我必须冻结用户界面 (UI),因为这些图表必须在 JavaFX 应用程序线程上呈现。我使用 Platform.runLater(new Runnable() { ... });用于此的命令,包裹在生成图表的代码周围。
如果我将每个单独的图表生成包装到 Platform.runLater(new Runnable() { ... }); GUI 没有像以前那样冻结,但我也不会收到任何反馈,因为我无法检测到每个单独的图表何时生成(它们在稍后阶段运行,我无法控制何时可能发生,据我所知也没有可用的回调)。
对于这个特定的事件,我想向用户显示一个进度条,并且我希望这个进度条随着实际的图表生成而更新。
关于如何实现这一点的任何建议或提示?
【问题讨论】: