Urgente: Jpanel

Muy buenas,
Tengo un problema que supongo que tiene fácil solución pero yo no la veo. Tengo un jFrame con un objeto MenuBar y en unos de los menuItem de uno de los componentes del menu. Me gustaría abrir un Jpanel cuando clickará. El evento lo capturo bien pero no me abre el Jpanel bien. Me podrías ayudar.
Saludos y muchas gracias por tu tiempo.

1 respuesta

Respuesta
1
Creo que en esta ocasión si podré ayudarte, te envío un ejemplo que se ajusta a tu explicación, si necesitas alguna aclaración no dudes en preguntarme.
public class EjemploMenu extends javax.swing.JFrame {
private javax.swing.JMenuBar barraMenu;
private javax.swing.JMenu menu1;
private javax.swing.JMenuItem menu1Opcion1;
private javax.swing.JMenuItem menu1Opcion2;
private javax.swing.JPanel panelNuevo;
private javax.swing.JLabel textoEnPanel;
public EjemploMenu() {
initComponents();
this.setBounds(0, 0, 200,200);
}
private void initComponents() {
// Creación de objetos
barraMenu = new javax.swing.JMenuBar();
menu1 = new javax.swing.JMenu();
menu1Opcion1 = new javax.swing.JMenuItem();
menu1Opcion2 = new javax.swing.JMenuItem();
panelNuevo = new javax.swing.JPanel();
panelNuevo.setVisible(false);
textoEnPanel = new javax.swing.JLabel();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
// Creación del menu
menu1.setText("Menu");
menu1Opcion1.setText("Muestra panel");
menu1Opcion1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
panelNuevo.setVisible(true);
}
});
menu1.add(menu1Opcion1);
menu1Opcion2.setText("Oculta panel");
menu1Opcion2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
panelNuevo.setVisible(false);
}
});
menu1.add(menu1Opcion2);
barraMenu.add(menu1);
setJMenuBar(barraMenu);
//Creación del panel
textoEnPanel.setText("Esta etiqueta esta en el panel");
panelNuevo.add(textoEnPanel);
getContentPane().add(panelNuevo, java.awt.BorderLayout.CENTER);
pack();
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new EjemploMenu().setVisible(true);
}
});
}
}

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas