在Swing应用程序中使用JavaFX Chart

3
我有一个传统的Java Swing应用程序(扩展JFrame并具有主类),它使用JFreeCharts进行一些图表功能。我最近看到了JavaFX,认为这些图表看起来更加清新,将为我的用户提供更好的体验。我希望将JavaFX图表场景嵌入到jInternalFrame中(反过来从我的jDesktopPane调用)。
我已经按照一个简单教程创建了一个JavaFX应用程序和一个JavaFX图表,但是我卡在了如何将场景嵌入到我的现有代码中。我通过一个示例学习到了如何实现这一点,但这意味着将我的项目转换为一个扩展“application”类的JavaFX项目。
我该如何实现我的需求?是否不可能保持现有的JFrame作为顶层类,只需向我的jinternalframe添加一个JFXPanel即可?
任何帮助都将是伟大的,请注意,我已经参考了一些教程,并且它们要求我将项目转换为JavaFX - 我只是想在我的现有Swing应用程序中添加一个JavaFX场景。
非常感谢,
1个回答

6
你不需要将Swing应用程序转换为JavaFX应用程序。您可以将JavaFX Chart放置在JFXPanel中,该面板可以放置在Swing组件中。我提供的javadoc包括嵌入Swing应用程序中的JavaFX节点的示例代码。
请查看Oracle官方JavaFX for Swing Developers教程。
另外,请查看SwingInteropEmbedding JavaFX in Swing示例,以在Swing应用程序中嵌入图表。Oracle根据BSD开源许可向您提供此示例,以便您在应用程序中使用它。
尽管如此,我的建议是,除非您只想在现有的大型Swing代码库中使用几个JavaFX功能,否则请将应用程序编写为纯JavaFX应用程序,而不是混合Swing / JavaFX应用程序。

链接已失效。现在指向http://www.oracle.com/technetwork/java/javase/overview/javafx-samples-2158687.html。 - rpax
感谢rpax,我已更新答案中的链接,指向引用更为实时的文档和示例的新位置。 - jewelsea

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接