【问题标题】:How do I embed a JFrame into a JavaFX 2.0 application?如何将 JFrame 嵌入到 JavaFX 2.0 应用程序中?
【发布时间】:2014-03-04 22:59:51
【问题描述】:

我已经广泛搜索了 stackoverflow 以获取有关此主题的帮助,但我发现的问答已经过时,并且对于当前版本的 JDK(我目前使用的是 7u51),答案已经改变。

请注意,我从一开始就对 Swing 并不精通,但我相信我了解基础知识。 (我一直更关注应用程序内部的内容,而不是 GUI)。

我正在尝试使用第三方库。第三方库要求其组件使用 JFrame。

因此,我试图了解如何将 JFrame 嵌入到我的 JavaFX 应用程序中。有一个关于使用 javafx.ext.swing 做某事的旧答案,但它不再包含在 JavaFX 中。

帮助?

===========

我还应该补充一点:我认为目前是 beta 版的 Java 8 将支持我所需要的:http://docs.oracle.com/javafx/8/embed_swing/jfxpub-embed_swing.htm,但我需要看看是否有办法在不依赖 beta 产品的情况下做到这一点.

【问题讨论】:

  • 这不再起作用了? stackoverflow.com/questions/437413/…
  • 这应该会有所帮助:stackoverflow.com/questions/6157277/…
  • 更正第一条评论... javafx.ext.swing* 不见了...
  • 至于第二个链接...我也遇到过,并且已经通过那里的链接(以及另一个级别)...并且我找到了对 javafx 的引用.ext.swing 或者难以证明的第三方库。整个练习是为了证明一个特定的 3rd 方库对我的团队有用......使用另一个未知的 3rd 方库来做这件事没有帮助。
  • 即使 JDK 仍处于测试阶段,JavaFX 应用程序中嵌入 Swing 的功能也不会被删除。甲骨文已经向其用户宣布了这一点,现在几乎处于最后阶段。的确,没有人可以说它将来永远不会被删除,但我可以告诉你,它可能不会被删除。请放心使用 JDK 8。您还可以在 Web 上搜索 JavaFX 8 和 JavaFX 8 Roadmap 的新闻。祝你的项目好运。 :)

标签: java swing jframe javafx


【解决方案1】:
  1. 创建SwingNodes
  2. 创建JComponentc
  3. 致电s.setContent(c)

【讨论】:

    【解决方案2】:

    没有 se si esto es lo que buscas。

    不知道是不是你要找的。​​p>

    JFrame frame = new JFrame();
    final JFXPanel mainJFXPanel = new JFXPanel();
    frame.getContentPane().add(mainJFXPanel);
    Scene scene = new Scene(rootnode);
    mainJFXPanel.setScene(scene);
    

    【讨论】:

    • 请在你的答案中只使用英语。
    【解决方案3】:

    您不能在 JavaFX 2.0 中使用 swing 控件,因为 javafx 控件的最超类是 Node,而在 swing 中最超类是 Component。在 JavaFx 的早期版本中是在 java swing 之上实现的,但 2.0 版本与 swing 是分开的。因此 JavaFX 不再提供嵌入 swing 组件的功能。

    【讨论】:

    • 可以使用SwingNode嵌入Swing组件。
    猜你喜欢
    • 2013-05-29
    • 1970-01-01
    • 2018-01-24
    • 1970-01-01
    • 2011-01-24
    • 2010-09-08
    • 2018-11-30
    • 2012-01-12
    • 1970-01-01
    相关资源
    最近更新 更多