import javafx.application.Application; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.geometry.Side; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.control.ContextMenu; import javafx.scene.control.MenuItem; import javafx.scene.layout.PaneBuilder; import javafx.stage.FileChooser; import javafx.stage.Stage; public class TestFileChooserContextMenuJVMCrash extends Application { @Override public void start(Stage stage) throws Exception { final ContextMenu contextMenu = new ContextMenu(); MenuItem item1 = new MenuItem("Export"); item1.setOnAction(new EventHandler() { public void handle(ActionEvent e) { FileChooser fileChooser = new FileChooser(); fileChooser.showOpenDialog(contextMenu); } }); contextMenu.getItems().add(item1); final Button button = new Button("Show Context menu"); button.setOnAction(new EventHandler() { public void handle(ActionEvent e) { contextMenu.show(button, Side.BOTTOM, 0, 0); } }); stage.setScene(new Scene(PaneBuilder.create().children(button).build())); stage.show(); } public static void main(String[] args) { Application.launch(); } }