title: How to open a new JPanel with a JButton?
body: <p>I am trying to code a program with multiple screens, however, I do not want to use tabbed panes. I have looked at using multiple JPanels with the card layout and the methods are simply not working. What I need to be able to do is load the new JPanel when a button is clicked. Here is my code:</p>
  
  <pre><code>import java.awt.BorderLayout;
  import java.awt.EventQueue;
  
  import javax.swing.JFrame;
  import javax.swing.JPanel;
  import javax.swing.border.EmptyBorder;
  import java.awt.CardLayout;
  import javax.swing.JButton;
  import java.awt.event.ActionListener;
  import java.awt.event.ActionEvent;
  
  public class IA extends JFrame {
  
      private JPanel contentPane;
      private JPanel home;
      private JPanel clients;
  
      /**
       * Launch the application.
       */
      public static void main(String[] args) {
          EventQueue.invokeLater(new Runnable() {
              public void run() {
                  try {
                      IA frame = new IA();
                      frame.setVisible(true);
                  } catch (Exception e) {
                      e.printStackTrace();
                  }
              }
          });
      }
  
      /**
       * Create the frame.
       */
      public IA() {
          setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
          setBounds(100, 100, 450, 300);
          contentPane = new JPanel();
          contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
          setContentPane(contentPane);
          contentPane.setLayout(new CardLayout(0, 0));
  
          JPanel home = new JPanel();
          contentPane.add(home, "name_714429679706141");
          home.setLayout(null);
  
          JButton btnClients = new JButton("Clients");
          btnClients.addActionListener(new ActionListener() {
              public void actionPerformed(ActionEvent e) {
                  home.setVisible(false);
                  clients.setVisible(true);
              }
          });
          btnClients.setBounds(160, 108, 89, 23);
          home.add(btnClients);
  
          JPanel clients = new JPanel();
          contentPane.add(clients, "name_714431450350356");
          clients.setLayout(null);
  
          JButton btnHome = new JButton("Home");
          btnHome.addActionListener(new ActionListener() {
              public void actionPerformed(ActionEvent e) {
                  clients.setVisible(false);
                  home.setVisible(true);
              }
          });
          btnHome.setBounds(169, 107, 89, 23);
          clients.add(btnHome);
      }
  
  }
  </code></pre>