That's an architectural decision. Syntactically, you can have SwingNode components create JFXPanels which create more SwingNode components, etc. The Swing / JavaFX integration points should be very sparking and consistent. I've seen crashes on different platforms occurring when a worker Thread gets mixed in with the Swing Event Thread and the JavaFX Event Thread despite the presence of Swing invokeLaters and JavaFX runlaters.