import javax.swing.BoxLayout;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;

import javafx.application.Platform;
import javafx.embed.swing.JFXPanel;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.control.ToolBar;
import javafx.scene.layout.VBox;
import javafx.scene.paint.Color;

public class JavaFxInSwing {

    public static void main(String[] args) {
        SwingUtilities.invokeLater(() -> {

            JPanel panel = new JPanel();
            panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
            panel.add(new java.awt.TextField("Swing TextField"));

            final JFXPanel fxPanel = new JFXPanel();
            panel.add(fxPanel);

            JFrame frame = new JFrame("Test");
            frame.add(panel);
            frame.setSize(300, 200);
            frame.setVisible(true);
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

            Platform.runLater(() -> {
                ToolBar toolBar = new ToolBar();
                toolBar.getItems().addAll(
                        new Label("JavaFx Label"),
                        new TextField("JavaFx TextField")
                );
                fxPanel.setScene(new Scene(new VBox(toolBar), Color.ALICEBLUE));
            });

        });
    }
} 