import javax.swing.SwingUtilities; import javax.swing.JFrame; public class Parent { public static void main(String[] args) throws Exception { new ProcessBuilder(args[0] + "\\bin\\java.exe", "Parent$Child").start(); } public static class Child extends JFrame { public static void main(String[] args) throws Exception { SwingUtilities.invokeAndWait(() -> { JFrame frame = new JFrame(); frame.setDefaultCloseOperation(EXIT_ON_CLOSE); frame.setSize(500, 600); frame.setVisible(true); }); } } }