Hi, first timer here so sorry before hand if I forget to mention something. My code run the window fine but when I hit the calculate button I receive an error message. Firstly this is my code
package Chapter12;
import javax.swing.*;
import java.awt.event.*;
public class TheaterGUI extends JFrame {
JTextField adultTicketPriceTextField;
JTextField adultTicketSoldTextField;
JTextField childTicketPriceTextField;
JTextField childTicketSoldTextField;
public TheaterGUI()
{
final int windowWidth = 350;
final int windowHeight = 275;
setTitle("Theater Revenue ");
setSize(windowWidth, windowHeight);
JButton button = new JButton("Calculate ");
button.addActionListener(new buttonListener());
JTextField adultTicketPriceTextField;
adultTicketPriceTextField = new JTextField(20);
JTextField adultTicketSoldTextField;
adultTicketSoldTextField = new JTextField(20);
JTextField childTicketPriceTextField;
childTicketPriceTextField = new JTextField(20);
JTextField childTicketSoldTextField;
childTicketSoldTextField = new JTextField(20);
JLabel adultPrice;
adultPrice = new JLabel("Adult Ticket Price: ");
JLabel adultSales;
adultSales = new JLabel ("Adult Tickets Sold: ");
JLabel childPrice;
childPrice = new JLabel ("Child Ticket Price: ");
JLabel childSales;
childSales = new JLabel ("Child Tickets Sold: ");
JLabel spacer;
spacer = new JLabel (" ");
JPanel panel1 = new JPanel();
panel1.add(adultPrice);
panel1.add(adultTicketPriceTextField);
panel1.add(adultSales);
panel1.add(adultTicketSoldTextField);
panel1.add(childPrice);
panel1.add(childTicketPriceTextField);
panel1.add(childSales);
panel1.add(childTicketSoldTextField);
panel1.add(spacer);
panel1.add(button);
add(panel1);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
private class buttonListener implements ActionListener
{
@Override
public void actionPerformed(ActionEvent e)
{
String adultTickets;
double adultTicketsNum;
String adultSales;
double adultSalesNum;
String childTickets;
double childTicketsNum;
String childSales;
double childSalesNum;
double adultGross;
double adultNet;
double childGross;
double childNet;
double totalGross;
double totalNet;
double constant = 0.20;
adultTickets = adultTicketPriceTextField.getText();
adultSales = adultTicketSoldTextField.getText();
childTickets = childTicketPriceTextField.getText();
childSales = childTicketSoldTextField.getText();
adultTicketsNum = Double.parseDouble(adultTickets);
adultSalesNum = Double.parseDouble(adultTickets);
childTicketsNum = Double.parseDouble(childTickets);
childSalesNum = Double.parseDouble(childTickets);
adultGross = adultTicketsNum * adultSalesNum;
adultNet = adultGross * constant;
childGross = childTicketsNum * childSalesNum;
childNet = childGross * constant;
totalGross = adultGross + childGross;
totalNet = adultNet + childNet;
JOptionPane.showMessageDialog(null,
"The Gross for Adult tickets was " + adultGross + "\n" +
" The Net for Adult Tickets was " + adultNet + "\n" +
" The Gross for Children Tickets was " +childGross + "\n" +
" The Net for Child Tickets was " + childNet + "\n" +
" The Total Gross was " + totalGross + "\n" +
" The Total Net was " + totalNet);
}
}
public static void main(String[] args){
new TheaterGUI();
}
}
The code run fine until line 84 where my error kicks in.
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at Chapter12.TheaterGUI$buttonListener.actionPerformed(TheaterGUI.java:84)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6533)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6298)
at java.awt.Container.processEvent(Container.java:2236)
at java.awt.Component.dispatchEventImpl(Component.java:4889)
at java.awt.Container.dispatchEventImpl(Container.java:2294)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
at java.awt.Container.dispatchEventImpl(Container.java:2280)
at java.awt.Window.dispatchEventImpl(Window.java:2746)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.awt.EventQueue$4.run(EventQueue.java:729)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Any thoughts, ideas, comments or conserns? Any help is greatly apperciated.