在Swing应用程序中使用JavaFX图表

我有一个传统的Java swing应用程序(扩展JFrame并有一个主类),它使用JFreeCharts来实现一些图表function。 我最近看过JavaFX并认为这些图表看起来很多,并且会给我的用户带来更好的体验。 我希望将JavaFX图表场景嵌入到jInternalFrame中(后者又从我的jDesktopPane中调用)。

我已经按照一个关于如何创建javafx应用程序和javafx图表的简单教程,但我仍然坚持如何在现有代码中获取场景。 我经历过的一个例子向我展示了如何实现这一点,但意味着将我的项目转换为扩展“application”类的javafx。

我怎样才能实现我想要的目标? 是不是可以将我现有的JFrame保留为顶级类,只需将JFXPanel添加到我的jinternalframe中。

任何帮助都会很棒,请注意我已经完成了一些教程,他们要求我将我的项目转换为javafx – 我只想在我现有的swing应用程序中使用javafx场景。

非常感谢,

您不需要将Swing应用程序转换为JavaFX应用程序。 您可以将JavaFX Chart放在JFXPanel中 ,该JFXPanel可以放在Swing组件中。 我链接的javadoc包含用于在Swing应用程序中嵌入JavaFX节点的示例代码。

查看Oracle的官方JavaFX for Swing Developers教程。

另请SwingInterop Swing示例中的嵌入JavaFX,以便在Swing应用程序中嵌入图表。 该示例由Oracle在BSD开源许可下提供,以便您可以在您的应用程序中使用它。

尽管如此,我的建议,除非它是一个庞大的,现有的Swing代码库,你只想使用几个JavaFX特性,就是将你的应用程序编写为纯JavaFX应用程序而不是混合的Swing / JavaFX应用程序。