How do I embed a JFrame into a JavaFX 2.0 application?

余生长醉 提交于 2019-12-04 03:42:18

问题


I have searched stackoverflow extensively for help on this topic, but the Q&As I found are old and the answers have changed for the current version of the JDK (I'm currently using 7u51).

Note that I was never SUPER proficient in Swing to begin with, but I believe I understand the fundamentals. (I've always been more focused on the meat inside an app, not the GUI).

I'm trying to work with a third party library. The third party library requires that it's components use JFrame.

Therefore, I'm trying to see how I would embed a JFrame into my JavaFX application. There was an old answer about doing something with javafx.ext.swing, but that's no longer included in JavaFX.

Help?

==========

I should also add: I think Java 8, which is currently beta, will support what I need based on this: http://docs.oracle.com/javafx/8/embed_swing/jfxpub-embed_swing.htm , but I need to see if there is a way to do this without relying on a beta product.


回答1:


No se si esto es lo que buscas.

I dont know if is what you are looking for.

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



回答2:


  1. Create a SwingNode s
  2. Create a JComponent c
  3. Call s.setContent(c)



回答3:


You can't use swing controls in JavaFX 2.0 because the most super class of a javafx control is Node and in swing most super class is Component. In earlier versions of JavaFx is implemented on top of java swing but version 2.0 is separated form the swing. Therefore JavaFX not providing embedding swing components feature any more.



来源:https://stackoverflow.com/questions/21629330/how-do-i-embed-a-jframe-into-a-javafx-2-0-application

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!