17/04/2013, 11:17
|
| | Fecha de Ingreso: enero-2013
Mensajes: 54
Antigüedad: 12 años Puntos: 0 | |
Respuesta: Cambiar JPanel desde menú JFrame Estoy probando con una Ventana sencilla y este es el código Cita: package pruebas;
import java.awt.BorderLayout;
public class Principal extends JFrame {
private JPanel contentPane;
static Principal frame;
Panel_1 panel_1 = new Panel_1();
Panel_2 panel_2 = new Panel_2();
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
frame = new Principal();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
public Principal() {
setTitle("Ventana Principal");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
JMenuBar menuBar = new JMenuBar();
setJMenuBar(menuBar);
JMenu mnNewMenu = new JMenu("Panel");
menuBar.add(mnNewMenu);
JMenuItem mntmPanel = new JMenuItem("Panel 1");
mntmPanel.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
frame.getContentPane().remove(panel_2);
frame.getContentPane().add(panel_1);
frame.repaint();
}
});
mnNewMenu.add(mntmPanel);
JMenuItem mntmPanel_1 = new JMenuItem("Panel 2");
mntmPanel_1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
frame.getContentPane().remove(panel_1);
frame.getContentPane().add(panel_2);
frame.repaint();
}
});
mnNewMenu.add(mntmPanel_1);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPane.setLayout(new BorderLayout(0, 0));
setContentPane(contentPane);
}
} |