import com.sun.glass.ui.Robot; import java.awt.Color; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.Point; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.ComponentAdapter; import java.awt.event.ComponentEvent; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.lang.reflect.InvocationTargetException; import javafx.application.Application; import javafx.embed.swing.SwingNode; import javafx.event.EventHandler; import javafx.scene.Scene; import javafx.scene.layout.StackPane; import javafx.stage.Stage; import javafx.stage.WindowEvent; import javax.swing.JButton; import javax.swing.JComboBox; import javax.swing.JInternalFrame; import javax.swing.JPanel; import javax.swing.SwingUtilities; public class SwingNodeEventsBug extends Application implements ActionListener { private JInternalFrame frame; @Override public void start(final Stage stage) throws Exception { SwingNode swingNode = new SwingNode(); init(swingNode); StackPane pane = new StackPane(); pane.getChildren().add(swingNode); Scene scene = new Scene(pane, 300, 300); stage.setScene(scene); stage.setX(150); stage.setY(150); stage.show(); } public static void main(String[] args) { launch(args); } private void init(final SwingNode node) throws Exception { final JPanel panel = new JPanel(); final MouseAdapter adapter = new MouseAdapter() { @Override public void mousePressed(MouseEvent e) { System.out.println("Pressed"); } @Override public void mouseReleased(MouseEvent e) { System.out.println("Released"); } @Override public void mouseClicked(MouseEvent e) { System.out.println("Clicked"); } @Override public void mouseDragged(MouseEvent e) { System.out.println("Dragged"); } @Override public void mouseEntered(MouseEvent e) { System.out.println("Entered"); } @Override public void mouseExited(MouseEvent e) { System.out.println("Exited"); } }; SwingUtilities.invokeLater(() -> { frame = new JInternalFrame(); frame.setSize(200, 200); frame.setBounds(0, 0, 200, 200); frame.setBackground(Color.RED); panel.setLayout(new FlowLayout()); panel.add(frame); JButton b = new JButton("A button"); JComboBox cb = new JComboBox<>(new String[]{"a", "b", "c"}); b.addMouseListener(adapter); cb.addMouseMotionListener(adapter); panel.add(b); panel.add(cb); frame.setVisible(true); node.setContent(panel); }); } @Override public void actionPerformed(ActionEvent e) { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. } }