Tentei aqui mais não consegui, fiz um código bem simples, só pra ver ser era possível!!!
por exemplo quando eu clico no JMenuBar no Painel1 aparece o Painel1, e quando clico no Painel2 aparece o Painel2 no mesmo JFrame, escodendo o Painel1!!! Mais não consegui até agora!!! É possivel???
Classe que extends JFrame:
package variospanel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
public class FrameMain extends JFrame {
JMenuBar barra = new JMenuBar();
JMenu menu = new JMenu("Painel1");
JMenu menu2 = new JMenu("Painel2");
Painel1 p1 = new Painel1();
Painel2 p2 = new Painel2();
public FrameMain(){
setSize(500, 500);
setJMenuBar(barra);
barra.add(menu);
barra.add(menu2);
getContentPane().add(p1);
getContentPane().add(p2);
menu.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
p2.setVisible(true);
p1.setVisible(true);
}
});
menu2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
p1.setVisible(false);
p2.setVisible(true);
}
});
}
}
Classe que extends JPanel:
package variospanel;
import javax.swing.JButton;
import javax.swing.JPanel;
import net.miginfocom.swing.MigLayout;
public class Painel1 extends JPanel{
JButton botao = new JButton("Puxa aqui");
public Painel1(){
setLayout(new MigLayout());
add(botao);
}
}
Segunda classe que extends JPanel:
package variospanel;
import javax.swing.JButton;
import javax.swing.JPanel;
import net.miginfocom.swing.MigLayout;
public class Painel2 extends JPanel {
JButton botao = new JButton("Clica aqui");
public Painel2(){
setLayout(new MigLayout());
add(botao);
}
}
Obrigado pela atenção!!!