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