I am trying to hide a frame once a button is clicked. The "Register" button should open up a frame where a user can register, and that works, but I am trying to hide the previous frame and I can't figure out how to do it.
Here's my code:
MainPage.java
package Practice_1;
import java.awt.*;
import java.awt.Insets;
import java.awt.GridBagLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
/**
 *
 * @author Ivan 
 */
public class MainPage extends JPanel 
{
    JButton regButton, logButton, listButton;
    JLabel homeMessage;
    GridBagConstraints gbc = new GridBagConstraints();
    public MainPage()
    {
        setLayout(new GridBagLayout());
        gbc.insets = new Insets(5,5,5,5);
        homeMessage = new JLabel("Please select an option below:");
        gbc.gridx = 0;
        gbc.gridy = 0;
        add(homeMessage, gbc);
        regButton = new JButton("Register");
        gbc.gridx = 0;
        gbc.gridy = 1;
        gbc.fill = GridBagConstraints.HORIZONTAL;
        regButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e)
            {
                //Execute when button is pressed
                //System.out.println("clicked");
                RegisterPage regFrame = new RegisterPage();
                JFrame register = new JFrame();
                register.setTitle("Registration");
                register.setSize(300,200);
                register.setVisible(true);
                register.add(regFrame);
                new MainPage().setVisible(false);  / THIS DOES NOT WORK
            }
        });
        add(regButton, gbc);
        logButton = new JButton("Log in");
        gbc.ipadx = 40;
        gbc.gridx = 0;
        gbc.gridy = 2;
        add(logButton, gbc);
        listButton = new JButton("Customer list");
        gbc.ipadx = 40;
        gbc.gridx = 0;
        gbc.gridy = 3;
        add(listButton, gbc);
        JFrame home = new JFrame();
        home.setTitle("Main menu");
        home.setSize(300,200);
        home.setResizable(false);
        home.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        home.setVisible(true);
        home.add (mainFrame);
    }
    public static void main(String[] args) {
        // TODO code application logic here
        MainPage mainFrame = new MainPage();
    }
}
RegisterPage.java
package Practice_1;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
/**
 *
 * @author Ivan
 */
public class RegisterPage extends JPanel {
    //JButton regButton, logButton, listButton;
    JLabel homeMessage;
    GridBagConstraints gbc = new GridBagConstraints();
    public RegisterPage()
    {
        setLayout(new GridBagLayout());
        gbc.insets = new Insets(5,5,5,5);
        homeMessage = new JLabel("Register new user:");
        gbc.gridx = 0;
        gbc.gridy = 0;
        add(homeMessage, gbc);
    }
}
 
    