I am currently working on a JFrame that needs to accept user input and add that to an object inside of an arrayList. The issue is, its simple to make the JFrame with JButtons, but when I press one of the buttons to open the JTextField, it just has a blank JFrame that doesn't accept any user input.
Here is my code:
    import java.awt.BorderLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.util.ArrayList;
    import java.util.Scanner;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JOptionPane;
    import javax.swing.JTextField;
    public class SwingObserver {
        Scanner scan = new Scanner(System.in);
        JFrame frame;
        //ArrayList<Customer>cust = new ArrayList<Customer>();
        ArrayList<Magazine>natGeo = new ArrayList<Magazine>();
        public static void main(String[]args){
            SwingObserver example = new SwingObserver();
            example.go();
        }
        public void go(){
            frame = new JFrame("Subscriber Hub");
            frame.setVisible(true);
            JButton button1 = new JButton("Add Subscriber");
            JButton button2 = new JButton("Delete Subscriber");
            JButton button3 = new JButton("Send message");
            button1.addActionListener(new addListener());
            //button2.addActionListener(new removeListener());
            //button3.addActionListener(new messageListener());
            frame.getContentPane().add(BorderLayout.WEST, button1);
            frame.getContentPane().add(BorderLayout.CENTER, button2);
            frame.getContentPane().add(BorderLayout.EAST, button3);
            frame.setSize(500, 500);
        }
        class addListener implements ActionListener{
            @Override
            public void actionPerformed(ActionEvent event) {
                // TODO Auto-generated method stub
                frame.setVisible(false); //sets main menu frame to invisible
                Magazine x = new Magazine();
                JFrame frameAdd = new JFrame("Add Subscriber");
                JTextField text = new JTextField(15);
                frameAdd.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                frameAdd.add(text);
                frameAdd.setSize(500,500);
                frameAdd.setVisible(true);
                String address = text.getText();
                x.setAddress(address);
                natGeo.add(x);
                System.out.println(x.getAddress());
                //frame.setVisible(true);
            }
        }
    }
Please let me know what I'm doing wrong, I've been stuck for quite a while. Thank you
 
    