import java.awt.AWTEvent; 
import java.awt.BorderLayout; 
import java.awt.CardLayout; 
import java.awt.EventQueue; 
import java.awt.IllegalComponentStateException; 
import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 

import javax.swing.JButton; 
import javax.swing.JFrame; 
import javax.swing.JPanel; 
import javax.swing.JTextField; 



public class Frame 
{ 

   public static void main(String[] args) throws Exception 
   { 
      //Toolkit.getDefaultToolkit().getSystemEventQueue().push(new WorkaroundEventQueue()); 
       
      CardLayout cardLayout = new CardLayout(); 
      JPanel content = new JPanel(); 
      content.setLayout(cardLayout); 

      JFrame frame = new JFrame(); 
      frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE); 
       
      JPanel panel = new JPanel(); 
      panel.setLayout(new BorderLayout()); 
      panel.add(content, BorderLayout.CENTER); 
       
      JPanel nav = new JPanel(); 
      panel.add(nav, BorderLayout.NORTH); 
      JButton bt1 = new JButton("Page 1"); 
      nav.add(bt1); 
      JButton bt2 = new JButton("Page 2"); 
      nav.add(bt2); 
      bt1.addActionListener(new ActionListener() 
      { 
         @Override 
         public void actionPerformed(ActionEvent e) 
         { 
            cardLayout.show(content, "page1"); 
         } 
      }); 
      bt2.addActionListener(new ActionListener() 
      { 
         @Override 
         public void actionPerformed(ActionEvent e) 
         { 
            cardLayout.show(content, "page2"); 
         } 
      }); 
      bt1.setFocusable(false); 
      bt2.setFocusable(false); 

      JPanel page1 = new JPanel(); 
      content.add(page1,"page1"); 
      JTextField tf = new JTextField(10); 
      page1.add(tf); 

      JPanel page2 = new JPanel(); 
      content.add(page2,"page2"); 
      JTextField tf2 = new JTextField(20); 
      page2.add(tf2); 
       
      frame.setContentPane(panel); 
      frame.pack(); 
      frame.setVisible(true); 
       
   } 
} 

class WorkaroundEventQueue extends EventQueue 
{ 
   /* (non-Javadoc) 
    * @see java.awt.EventQueue#dispatchEvent(java.awt.AWTEvent) 
    */ 
   @Override 
   protected void dispatchEvent(AWTEvent event) 
   { 
      try 
      { 
         super.dispatchEvent(event); 
      } 
      catch(IllegalComponentStateException ex) 
      {} 
   } 
} 