3

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

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

我怎样才能达到我想要的?是否不可能将我现有的 JFrame 保留为顶级类,并简单地将 JFXPanel 添加到我的 jinternalframe。

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

非常感谢,

4

1 回答 1

6

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

查看 Oracle为 Swing 开发人员提供的官方JavaFX教程跟踪。

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

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

于 2013-03-05T17:16:21.103 回答