import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class EjercicioPanel {
JFrame winMain;
JPanel jpMenBot;
panel1 objPn1 = new panel1();
panel2 objPn2 = new panel2();
public EjercicioPanel(){
winMain = new JFrame("EJERCICIO PANEL");
winMain.setLayout(new BorderLayout(5, 5));
menuBotones();
winMain.add(jpMenBot, BorderLayout.WEST);
winMain.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
winMain.setPreferredSize(new Dimension(480, 500));
winMain.setSize(480, 500);
winMain.setLocation(200, 90);
winMain.setVisible(true);
}
private void menuBotones(){
jpMenBot = new JPanel(new GridLayout(2, 1, 10, 45));
JButton jbPan1 = new JButton("Panel 1");
JButton jbPan2 = new JButton("Panel 2");
jbPan1.setActionCommand("panel1"); jbPan2.setActionCommand("panel2");
evenBoton eBtn = new evenBoton();
jbPan1.addActionListener(eBtn); jbPan2.addActionListener(eBtn);
jpMenBot.add(jbPan1); jpMenBot.add(jbPan2);
jpMenBot.setVisible(true);
}
private class evenBoton implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
if(e.getActionCommand().equals("panel1") ){
if(objPn2.pnPanel2 !=null && objPn2.pnPanel2.isVisible()){
objPn2.pnPanel2.setVisible(false);
objPn1.mostrarPanel1();
winMain.add(objPn1.pnPanel1, BorderLayout.CENTER);
objPn1.pnPanel1.setVisible(true);
winMain.pack();//ajusta la ventana y la visibilidad de sus componentes
}else if(objPn2.pnPanel2 == null ){
objPn1.mostrarPanel1();
winMain.add(objPn1.pnPanel1, BorderLayout.CENTER);
objPn1.pnPanel1.setVisible(true);
winMain.pack();//ajusta la ventana y la visibilidad de sus componentes
}
}else if(e.getActionCommand().equals("panel2")){
if(objPn1.pnPanel1 != null && objPn1.pnPanel1.isVisible()){
objPn1.pnPanel1.setVisible(false);
objPn2.mostrarPanel2();
winMain.add(objPn2.pnPanel2, BorderLayout.CENTER);
objPn2.pnPanel2.setVisible(true);
winMain.pack();//ajusta la ventana y la visibilidad de sus componentes
}else if(objPn1.pnPanel1==null){
objPn2.mostrarPanel2();
winMain.add(objPn2.pnPanel2, BorderLayout.CENTER);
objPn2.pnPanel2.setVisible(true);
winMain.pack();//ajusta la ventana y la visibilidad de sus componentes
}
}
}
}
public static void main(String[] args) {
EjercicioPanel objEjerPan = new EjercicioPanel();
}
}