Please help, I can compile and run the program but when I click on calculate, I
ID: 3620383 • Letter: P
Question
Please help, I can compile and run the program but when I click on calculate, I keep getting this error:Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at TravelWorksheet$calcButtonListener.actionPerformed(TravelWorksheet.java:119)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6267)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6032)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4630)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Here is my code:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class TravelWorksheet extends JFrame
{
private JTextField dtripTextField;
private JTextField dlodgeTextField;
private JTextField airfareTextField;
private JTextField tcostTextField;
private JTextField milesTextField;
private JCheckBox airCheckBox;
private JCheckBox taxiCheckBox;
private JCheckBox pvecCheckBox;
private JCheckBox crentCheckBox;
private JButton calcButton;
private final int WINDOW_WIDTH = 500;
private final int WINDOW_HEIGHT = 500;
public TravelWorksheet()
{
setTitle("Travel Wroksheet");
setSize(WINDOW_WIDTH, WINDOW_HEIGHT);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new GridLayout(4, 3));
JTextField dtrip = new JTextField(4);
JCheckBox air = new JCheckBox("Air");
JCheckBox crent = new JCheckBox("Car rental");
JCheckBox taxi = new JCheckBox("Taxi");
JCheckBox pvec = new JCheckBox("Personal Vehicle");
JTextField dlodge = new JTextField(4);
JTextField airfare = new JTextField(4);
JTextField tcost = new JTextField(4);
JTextField miles = new JTextField(4);
JTextField sfees = new JTextField(4);
JTextField pfees = new JTextField(4);
JButton calcButton = new JButton("Calculate");
JLabel label1 = new JLabel("Days on trip.");
JLabel label2 = new JLabel("Mode of Travel to destination.");
JLabel label3 = new JLabel("Daily Lodging cost.");
JLabel label4 = new JLabel("Air Fare Cost.");
JLabel label5 = new JLabel("Taxi Cost.");
JLabel label6 = new JLabel("miles driven.");
JLabel label7 = new JLabel("Seminar or Registration fees.");
JLabel label8 = new JLabel("Parking fees.");
JLabel label9 = new JLabel("Calculate.");
JPanel panel1 = new JPanel();
JPanel panel2 = new JPanel();
JPanel panel3 = new JPanel();
JPanel panel4 = new JPanel();
JPanel panel5 = new JPanel();
JPanel panel6 = new JPanel();
JPanel panel7 = new JPanel();
JPanel panel8 = new JPanel();
JPanel panel9 = new JPanel();
panel1.add(label1);
panel2.add(label2);
panel3.add(label3);
panel4.add(label4);
panel5.add(label5);
panel6.add(label6);
panel7.add(label7);
panel8.add(label8);
panel9.setLayout(new BorderLayout());
panel1.add(dtrip);
panel2.add(air);
panel2.add(crent);
panel2.add(taxi);
panel2.add(pvec);
panel3.add(dlodge);
panel4.add(airfare);
panel5.add(tcost);
panel6.add(miles);
panel7.add(sfees);
panel8.add(pfees);
panel9.add(calcButton, BorderLayout.SOUTH);
add(panel1);
add(panel2);
add(panel3);
add(panel4);
add(panel5);
add(panel6);
add(panel7);
add(panel8);
add(panel9);
calcButton.addActionListener(new calcButtonListener());
setVisible(true);
}
private class calcButtonListener implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
String input;
String input1;
String input2;
String input3;
String input4;
String input5;
String input6;
double avalue;
double mvalue;
double tvalue;
double ptax;
input = dtripTextField.getText();
input1 = dlodgeTextField.getText();
input2 = airfareTextField.getText();
input3 = tcostTextField.getText();
input4 = dlodgeTextField.getText();
input5 = dlodgeTextField.getText();
input6 = dlodgeTextField.getText();
mvalue = Double.parseDouble(input) * 37;
avalue = Double.parseDouble(input) * Double.parseDouble(input1);
tvalue = avalue + mvalue;
JOptionPane.showMessageDialog(null, " Total money spent on trip is: $" + tvalue + ".");
}
}
public static void main(String[] args)
{
new TravelWorksheet();
}
}