-Si dejaras de pensar en java en función al ide y leyeras absolutamente todo el código que creas todos tus problemas se resolverían mágicamente y nunca más volverías a postear
El método mas fácil (puedo escribir 10 hojas solo de este tema pero nadie lo leería y no me entenderías)
1 debes tener un único formulario con que herede de JFrame a partir de ahora llamado principal
2 el resto de tus ventanas deben heredar de JDialog
4 Dentro el formulario principal creas bariables globales para todos tus formularios globales
3 le pones un jmenuBar en tu formulario principal y cada JmenuIten muestras un formulario auxiliar con este codigo
if (frmPersonal == null) {
frmPersonal = new FrmPersonal(this, true);
}
frmPersonal.setVisible(true);
ejemplo de fromulario principal
package org.springhispano.screancast01;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JToolBar;
import javax.swing.JButton;
import java.awt.FlowLayout;
import javax.swing.AbstractAction;
import java.awt.event.ActionEvent;
import javax.swing.Action;
import javax.swing.JMenuBar;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import java.awt.event.ActionListener;
public class FrmPrincipal extends JFrame {
FrmPersonal frmPersonal;
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
FrmPrincipal frame = new FrmPrincipal();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
public FrmPrincipal() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
JMenuBar barPrincipal = new JMenuBar();
setJMenuBar(barPrincipal);
JMenu mnuRecursosHumanos = new JMenu("Recursos Humanos");
barPrincipal.add(mnuRecursosHumanos);
JMenu mnuPersonal = new JMenu("Personal");
mnuRecursosHumanos.add(mnuPersonal);
JMenuItem mnuRegistro = new JMenuItem("registro");
mnuRegistro.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
mnuRegistro_actionPerformed(e);
}
});
mnuPersonal.add(mnuRegistro);
JPanel contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(new BorderLayout(0, 0));
JPanel panel = new JPanel();
contentPane.add(panel, BorderLayout.EAST);
JPanel panel_2 = new JPanel();
contentPane.add(panel_2, BorderLayout.WEST);
JPanel panel_3 = new JPanel();
contentPane.add(panel_3, BorderLayout.CENTER);
JPanel panel_4 = new JPanel();
contentPane.add(panel_4, BorderLayout.SOUTH);
}
private void mnuRegistro_actionPerformed(ActionEvent e) {
if (frmPersonal == null) {
frmPersonal = new FrmPersonal(this, true);
}
frmPersonal.setVisible(true);
}
}
package org.springhispano.screancast01;
import java.awt.BorderLayout;
public class FrmPersonal extends JDialog {
private final JPanel contentPanel = new JPanel();
/**
* Launch the application.
*/
public static void main(String[] args) {
try {
FrmPersonal dialog = new FrmPersonal(null,false);
dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
dialog.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* Create the dialog.
*/
public FrmPersonal(Frame owner, boolean modal) {
super(owner, modal);
setTitle("Personal");
setBounds(100, 100, 450, 300);
getContentPane().setLayout(new BorderLayout());
contentPanel.setLayout(new FlowLayout());
contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
getContentPane().add(contentPanel, BorderLayout.CENTER);
}
}