public class Lanzador extends JFrame {
private JButton btProg1;
private JButton btProg2;
public Lanzador() { btProg1 = new JButton("Saludo"); btProg1.addActionListener(new LanzarSaludo());
btProg2 = new JButton("Sumar"); btProg2.addActionListener(new LanzarSuma());
JPanel pnMensaje = new JPanel();
pnMensaje.add(new JLabel("Elija un programa")); pnMensaje.setBorder(BorderFactory.createCompoundBorder(
BorderFactory.createEmptyBorder(20,30,20,30),
BorderFactory.createRaisedSoftBevelBorder()));
JPanel pnBotones = new JPanel();
pnBotones.add(btProg1);
pnBotones.add(btProg2);
pnBotones.setBorder(BorderFactory.createCompoundBorder(
BorderFactory.createEmptyBorder(20,30,20,30),
BorderFactory.createLoweredSoftBevelBorder()));
setLayout(new BoxLayout(getContentPane(), BoxLayout.Y_AXIS));
add(pnMensaje);
add(pnBotones);
setTitle("Lanzador"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pack();
setLocationRelativeTo(null);
setVisible(true);
}
private void ocultar() { setVisible(false);
}
private void mostrar() { setVisible(true);
}
private class LanzarSaludo implements ActionListener { @Override
public void actionPerformed(ActionEvent e) { ocultar();
ProcessBuilder pb = new ProcessBuilder();
pb.command(Arrays.asList("cmd", "/C", "Start","java", "HolaMundo.java")) .directory(new File("src/programasCMD"));
try { Process proceso = pb.start();
while(proceso.isAlive());
mostrar();
} catch (Exception e1) { e1.printStackTrace();
}
}
}
private class LanzarSuma implements ActionListener { @Override
public void actionPerformed(ActionEvent e) { ocultar();
ProcessBuilder pb = new ProcessBuilder();
pb.command(Arrays.asList("cmd", "/C", "Start","java", "Sumar.java")) .directory(new File("src/programasCMD"));
try { Process proceso = pb.start();
while(proceso.isAlive());
mostrar();
} catch (Exception e1) { e1.printStackTrace();
}
}
}
public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() { new Lanzador();
}
});
}
}