问题
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:
- Create a
SwingNodes - Create a
JComponentc - 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