help with lab - JButton not working
Can anybody here help me with this? this is a lab for my comp science class where we have to make a little form for title (mr. and mrs.), name, address and such and have it print out.
for some reason though i cant figure out why the clear and submit buttons do nothing
heres the code:
Code:
public class GUI extends JFrame
{
public static final int WIDTH = 500;
public static final int HEIGHT = 400;
public int credInt;
String title = "";
String name = "";
String address = "";
String credit = "";
String creditNum = "";
private JComboBox titleBox;
private JTextField nameField;
private JTextField addressField;
private JComboBox creditBox;
private JTextField creditNumField;
private JButton clear;
private JButton submit;
public static void main (String [] args)
{
GUI gui = new GUI();
gui.setVisible(true);
}
public GUI()
{
setTitle("GUI");
setSize(WIDTH, HEIGHT);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel aPanel = new JPanel();
aPanel.setBackground(Color.RED);
JPanel fieldPanel = new JPanel();
fieldPanel.setBackground(Color.GREEN);
JPanel titlePanel = new JPanel();
JPanel namePanel = new JPanel();
JPanel addressPanel = new JPanel();
JPanel creditPanel = new JPanel();
JPanel creditNumPanel = new JPanel();
JPanel clearPanel = new JPanel();
JPanel submitPanel = new JPanel();
JPanel buttonPanel = new JPanel( );
buttonPanel.setBackground(Color.BLUE);
String[] titles = {"Mr.","Mrs.","Ms.","Dr."};
titleBox = new JComboBox(titles);
titleBox.addActionListener(new Title());
titleBox.setEnabled(true);
titleBox.setSelectedItem(null);
fieldPanel.add( new JLabel("Title: ") );
fieldPanel.add(titleBox);
nameField = new JTextField(30);
nameField.addActionListener(new Name());
fieldPanel.add( new JLabel("Name: ") );
fieldPanel.add(nameField);
addressField = new JTextField(30);
addressField.addActionListener(new Address());
fieldPanel.add( new JLabel("Address: ") );
fieldPanel.add(addressField);
String[] credits = {"Visa","Mastercard","AMEX"};
creditBox = new JComboBox(credits);
creditBox.addActionListener(new Credit());
creditBox.setEnabled(true);
creditBox.setSelectedItem(null);
fieldPanel.add( new JLabel("Credit Card: ") );
fieldPanel.add(creditBox);
creditNumField = new JTextField(16);
creditNumField.addActionListener(new CreditNum());
fieldPanel.add( new JLabel("Credit Card #: ") );
fieldPanel.add(creditNumField);
clear = new JButton("Clear");
clear.addActionListener(new ButtonListenerGeneral());
submit = new JButton("Submit");
submit.addActionListener(new ButtonListenerGeneral());
buttonPanel.add(clear);
buttonPanel.add(submit);
aPanel.add(fieldPanel);
aPanel.add(buttonPanel);
setContentPane(aPanel);
}
private class Title implements ActionListener
{
public void actionPerformed(ActionEvent t)
{
Object sourceOfEvent = t.getSource();
JComboBox firingObject = (JComboBox) sourceOfEvent;
title = (String) firingObject.getSelectedItem();
}
}
private class Name implements ActionListener
{
public void actionPerformed(ActionEvent n)
{
Object sourceOfEvent = n.getSource();
JTextField firingObject = (JTextField) sourceOfEvent;
name = ((JTextField) sourceOfEvent) .getText();
}
}
private class Address implements ActionListener
{
public void actionPerformed(ActionEvent a)
{
Object sourceOfEvent = a.getSource();
JTextField firingObject = (JTextField) sourceOfEvent;
address = ((JTextField) sourceOfEvent) .getText();
}
}
private class Credit implements ActionListener
{
public void actionPerformed(ActionEvent c)
{
Object sourceOfEvent = c.getSource();
JComboBox firingObject = (JComboBox) sourceOfEvent;
credit = (String) firingObject.getSelectedItem();
}
}
private class CreditNum implements ActionListener
{
public void actionPerformed(ActionEvent cN)
{
Object sourceOfEvent = cN.getSource();
JComboBox firingObject = (JComboBox) sourceOfEvent;
creditNum = (String) firingObject.getSelectedItem();
String text = ((JTextField) sourceOfEvent) .getText();
try
{
credInt = Integer.parseInt(text);
}
catch ( NumberFormatException ex )
{
System.err.println("Invalid entry " + text);
}
}
}
private class ButtonListenerGeneral implements ActionListener
{
public void actionPerformed(ActionEvent b)
{
String button = b.getActionCommand();
if (button.equals("Clear"))
{
nameField.setText("");
addressField.setText("");
creditNumField.setText("");
titleBox.setSelectedItem(null);
creditBox.setSelectedItem(null);
}
if (button.equals("Submit"))
{
try
{
int credNum = Integer.parseInt(creditNum);
System.out.println(title + name);
System.out.println(address);
System.out.println(credit + credInt);
}
catch(NumberFormatException notnum)
{
System.err.println("Invalid entry " + credInt);
}
}
else
System.err.println("Invalid entry ");
}
}
}