import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

public class Teste {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		final FrameManager t = new FrameManager();
		
		final JFrame f = new JFrame();
		f.setSize(400, 200);
		
		final JPanel p1 = new JPanel();
		JButton jb1 = new JButton("Trocar painel");		
		p1.add(jb1);
		p1.add(new JLabel("Isso é um teste de painel 1!"));		
		f.add(p1);		
		
		final JPanel p2 = new JPanel();
		JButton jb2 = new JButton("Trocar outro painel");		
		p2.add(jb2);
		p2.add(new JLabel("Isso é um outro teste de outro painel 2!"));		
	
		jb1.addMouseListener(new MouseAdapter() {
			public void mouseClicked(MouseEvent evt) {
            	jb_okMouseClicked(evt);            	
            }

			private void jb_okMouseClicked(MouseEvent evt) {
				t.remPanel(f, p1);	
				t.addPanel(f, p2);
				t.repaint(f);				
			}
		});
		
		jb2.addMouseListener(new MouseAdapter() {
			public void mouseClicked(MouseEvent evt) {
            	jb_okMouseClicked(evt);            	
            }

			private void jb_okMouseClicked(MouseEvent evt) {
				t.remPanel(f, p2);	
				t.addPanel(f, p1);
				t.repaint(f);				
			}
		});
		
		f.setVisible(true);	
	}
}

class FrameManager {	
	public void addPanel(JFrame myFrame, JPanel myPanel){
		myFrame.getContentPane().add(myPanel);
	}
	
	public void remPanel(JFrame myFrame, JPanel myPanel){
		myFrame.getContentPane().remove(myPanel);
	}	
	
	public void repaint(JFrame myFrame){
		myFrame.repaint();
	}
}
