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

标签 java swing javafx jfreechart

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

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

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

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

非常感谢,

最佳答案

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

评论官方JavaFX for Swing Developers来自 Oracle 的教程。

另请参阅 Embedding JavaFX in Swing用于在 Swing 应用程序中嵌入图表的 SwingInterop 示例。该示例由 Oracle 根据 BSD 开源许可提供,因此您可以在您的应用程序中使用它。

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

关于java - 在 Swing 应用程序中使用 JavaFX 图表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15221084/

相关文章:

java - 我想对两个不同的参数使用 Collections.sort() 两次

java - 防止同一个对象关联到 hibernate 中的两个不同 session

java - 将 Swing 组件添加到容器的标准方法?

java - 您可以在没有任何输入字段的情况下触发 keyTyped() 函数吗?

java - CallableStatement.getResultSet() 给出 null

java - 无法访问类的属性

Node.js VS。用于简单客户端应用程序的 JavaFX(从服务器打印出消息)

java - 如何在JavaFX中按元素运行循环

java - 如何将 JLabels 定位到 Java GUI 上的绝对位置

java - 无法在新场景中移动 TextFlow