title: Set JTextFields and JButtons position in CardLayout
body: <p>This is a java template i found about Card Layout</p>
  
  <pre><code>import java.awt.*;
  import java.awt.event.*;
  
  import javax.swing.*;
  
  public class Main {
  
      private static final String CARD_JBUTTON =  "Card JButton";
      private static final String CARD_JTEXTFIELD = "Card JTextField";    
      private static final String CARD_JRADIOBUTTON = "Card JRadioButton";
  
      private static void createAndShowGUI()
      {
          JFrame frame = new JFrame("Card Layout Test");
          frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
          frame.setLocationRelativeTo(null);
  
          // This JPanel is the base for CardLayout for other JPanels.
          final JPanel contentPane = new JPanel();
          contentPane.setLayout(new CardLayout(200, 200));
  
          /* Here we be making objects of the Window Series classes
           * so that, each one of them can be added to the JPanel 
           * having CardLayout. 
           */
          Window1 win1 = new Window1();
          contentPane.add(win1, CARD_JBUTTON);
          Window2 win2 = new Window2();
          contentPane.add(win2, CARD_JTEXTFIELD);
          Window3 win3 = new Window3();
          contentPane.add(win3, CARD_JRADIOBUTTON);
  
          /* We need two JButtons to go to the next Card
           * or come back to the previous Card, as and when
           * desired by the User.
           */
          JPanel buttonPanel = new JPanel(); 
          final JButton previousButton = new JButton("PREVIOUS");
          previousButton.setBackground(Color.BLACK);
          previousButton.setForeground(Color.WHITE);
          final JButton nextButton = new JButton("NEXT");
          nextButton.setBackground(Color.RED);
          nextButton.setForeground(Color.WHITE);
  
          buttonPanel.add(previousButton);
          buttonPanel.add(nextButton);
  
          /* Adding the ActionListeners to the JButton,
           * so that the user can see the next Card or
           * come back to the previous Card, as desired.
           */
          previousButton.addActionListener(new ActionListener()
          {
              public void actionPerformed(ActionEvent ae)
              {   
                  CardLayout cardLayout = (CardLayout) contentPane.getLayout();
                  cardLayout.previous(contentPane);
              }
          });
          nextButton.addActionListener(new ActionListener()
          {
              public void actionPerformed(ActionEvent ae)
              {
                  CardLayout cardLayout = (CardLayout) contentPane.getLayout();
                  cardLayout.next(contentPane);   
              }
          });
  
          // Adding the contentPane (JPanel) and buttonPanel to JFrame.
          frame.add(contentPane, BorderLayout.CENTER);
          frame.add(buttonPanel, BorderLayout.PAGE_END);
  
          frame.pack();
          frame.setVisible(true);
      }
  
      public static void main(String... args)
      {
          SwingUtilities.invokeLater(new Runnable()
          {
              public void run()
              {
                  createAndShowGUI();
              }
          });
      }
  </code></pre>
  
  <p>And this is my Window1.java</p>
  
  <pre><code>import java.awt.Color;
  import java.awt.FlowLayout;
  import java.awt.GridLayout;
  import java.awt.event.ActionEvent;
  import java.awt.event.ActionListener;
  
  import javax.swing.BorderFactory;
  import javax.swing.JButton;
  import javax.swing.JOptionPane;
  import javax.swing.JPanel;
  import javax.swing.JTextField;
  
  
  
  class Window1 extends JPanel
  {
      /*
       * Here this is our first Card of CardLayout, which will
       * be added to the contentPane object of JPanel, which
       * has the LayoutManager set to CardLayout.
       * This card consists of Two JButtons.
       */  
      private ActionListener action;
  
      public Window1() 
      {
          init();
      }
  
      private void init() 
      {
          final JButton clickButton = new JButton("Click ME");
          final JButton dontClickButton = new JButton("DON\'T CLICK ME");     
  
          final JTextField title = new JTextField(12);
  
          action = new ActionListener()
          {
              public void actionPerformed(ActionEvent ae)
              {
                  if (ae.getSource() == clickButton)
                  {
                      String myString = title.getText();
                      System.out.println(myString);
                  }
                  else if (ae.getSource() == dontClickButton)
                  {
                      JOptionPane.showMessageDialog(null, "I told you not to click me!"
                                                          , "Wrong Button", JOptionPane.PLAIN_MESSAGE);
                  }
              }
          };
  
          clickButton.addActionListener(action);
          dontClickButton.addActionListener(action);
  
          add(clickButton);
          add(dontClickButton);
          add(title);
  
      }
  }
  </code></pre>
  
  <p>Now my problem is that how do i set the position of the textfields and buttons in Window1? </p>
  
  <p>With this code they are set in the center of the view aligned horizontally.</p>
  
  <p>I tried to use <code>title.setLocation(5,5);</code> but it's not working. Any suggestions?</p>