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