小编典典

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

java

我有一个传统的Java
swing应用程序(扩展了JFrame并具有一个主类),该应用程序使用JFreeCharts来实现某些图表功能。我最近看过JavaFX,并认为这些图表看上去很新鲜,可以为我的用户带来更好的体验。我希望将JavaFX图表场景嵌入到jInternalFrame中(依次从我的jDesktopPane中调用它)。

我遵循了有关如何创建javafx应用程序和javafx图表的简单教程,但是我仍然坚持如何在现有代码中获得场景。我所经历的一个示例向我展示了如何实现此目标,但意味着将我的项目转换为扩展“应用程序”类的javafx项目。

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

任何帮助都将非常有用,请注意,我已经看过一些教程,并且它们要求我将项目转换为javafx-我只是想在现有的swing应用程序中使用javafx场景。

非常感谢,


阅读 208

收藏
2020-11-26

共1个答案

小编典典

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

查看Oracle 的官方JavaFX for
Swing开发人员
教程。

还要查看在Swing中嵌入JavaFX的示例,该示例SwingInterop在Swing应用程序中嵌入了图表。该示例由Oracle根据BSD开源许可证提供,因此您可以在应用程序中使用它。

尽管如此,我的建议是将应用程序编写为纯JavaFX应用程序,而不是混合的Swing /
JavaFX应用程序,除非您只是想在其中使用几个JavaFX功能而使用的庞大的现有Swing代码库。

2020-11-26