I need this code to be fixed. It compiles, but it does not display the GUI appli
ID: 3535149 • Letter: I
Question
I need this code to be fixed. It compiles, but it does not display the GUI application or anything.
import java.awt.*;
import java.awt.event.*;
import java.text.DecimalFormat;
import javax.swing.*;
public class TravelExpenses extends JFrame
{
private JPanel travelInfoPanel;
private JPanel buttonPanel;
private JLabel numDaysOnTripLabel;
private JLabel amountAirfairLabel;
private JLabel amountCarRentalLabel;
private JLabel milesDrivenLabel;
private JLabel parkingFeesLabel;
private JLabel taxiFeesLabel;
private JLabel confRegLabel;
private JLabel lodgingChargesPerNightLabel;
private JTextField numDaysOnTripTextField;
private JTextField amountAirfairTextField;
private JTextField amountCarRentalTextField;
private JTextField milesDrivenTextField;
private JTextField parkingFeesTextField;
private JTextField taxiFeesTextField;
private JTextField confRegTextField;
private JTextField lodgingChargesPerNightTextField;
private JButton resetButton;
private JButton calcButton;
private double mealsAmount = 37.00;
private double parkingFeesReimbursed = 10.00;
private double taxiChargesReimbursed = 20.00;
private double lodgingChargesReimbursed = 95.00;
private double prVehiclePerMileReimbursed = 0.27;
/**
*
*/
public String TravelExpenses()
{
setTitle("Travel Expenses");
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new BorderLayout());
buildTravelInfoPanel();
buildButtonPanel();
add(travelInfoPanel, BorderLayout.CENTER);
add(buttonPanel, BorderLayout.SOUTH);
pack();
setVisible(true);
return null;
}
private void buildTravelInfoPanel()
{
numDaysOnTripLabel = new JLabel("Number of days on trip: ");
amountAirfairLabel = new JLabel("Amount of airfair: ");
amountCarRentalLabel = new JLabel("Amount of car rental fees: ");
milesDrivenLabel = new JLabel("Number of miles driven: ");
parkingFeesLabel = new JLabel ("Amount of parking fees: ");
taxiFeesLabel = new JLabel ("Amountt of taxi charges: ");
confRegLabel = new JLabel("Conference or seminar registration fees: ");
lodgingChargesPerNightLabel = new JLabel("Lodging charges per night: ");
numDaysOnTripTextField = new JTextField(3);
amountAirfairTextField = new JTextField(8);
amountCarRentalTextField = new JTextField(8);
milesDrivenTextField = new JTextField(4);
parkingFeesTextField = new JTextField(6);
taxiFeesTextField = new JTextField(6);
confRegTextField = new JTextField(8);
lodgingChargesPerNightTextField = new JTextField(6);
travelInfoPanel = new JPanel();
travelInfoPanel.setLayout(new GridLayout(10,2));
travelInfoPanel.add(numDaysOnTripLabel);
travelInfoPanel.add(numDaysOnTripTextField);
travelInfoPanel.add(amountAirfairLabel);
travelInfoPanel.add(amountAirfairTextField);
travelInfoPanel.add(amountCarRentalLabel);
travelInfoPanel.add(amountCarRentalTextField);
travelInfoPanel.add(milesDrivenLabel);
travelInfoPanel.add(milesDrivenTextField);
travelInfoPanel.add(parkingFeesLabel);
travelInfoPanel.add(parkingFeesTextField);
travelInfoPanel.add(taxiFeesLabel);
travelInfoPanel.add(taxiFeesTextField);
travelInfoPanel.add(confRegLabel);
travelInfoPanel.add(confRegTextField);
travelInfoPanel.add(lodgingChargesPerNightLabel);
travelInfoPanel.add(lodgingChargesPerNightTextField);
travelInfoPanel.setBorder(BorderFactory.createEmptyBorder(10,10,1,10));
}
private void buildButtonPanel()
{
calcButton = new JButton("Calculate");
calcButton.addActionListener(new CalcButtonListener());
resetButton = new JButton("Reset");
buttonPanel = new JPanel();
buttonPanel.setLayout(new BorderLayout(5,5));
buttonPanel.add(resetButton, BorderLayout.WEST);
buttonPanel.add(calcButton, BorderLayout.CENTER);
buttonPanel.setBorder(BorderFactory.createEmptyBorder(1,10,10,10));
}
private static class TravelExpenses
{
public TravelExpenses()
{
}
}
private class CalcButtonListener implements ActionListener
{
String input;
int days;
double air,carRental,miles,parking,taxi,confReg,lodging,mealsAmount;
public void actionPerformed(ActionEvent e)
{
double actualExpenses, milesExpenses, allowableExpenses, excessAir,
excessCarRental, excessParking, excessTaxi,excessLodging,
excessAmountTotal;
double amountSaved = 0;
double paidBackAmount = 0;
DecimalFormat dollar = new DecimalFormat("$#,##0.00");
days = Integer.parseInt(numDaysOnTripTextField.getText());
air = Double.parseDouble(amountAirfairTextField.getText());
carRental = Double.parseDouble(amountCarRentalTextField.getText());
miles = Double.parseDouble(milesDrivenTextField.getText());
parking = Double.parseDouble(parkingFeesTextField.getText());
taxi = Double.parseDouble(taxiFeesTextField.getText());
confReg = Double.parseDouble(confRegTextField.getText());
lodging = Double.parseDouble(lodgingChargesPerNightTextField.getText());
milesExpenses = miles * prVehiclePerMileReimbursed;
actualExpenses = (carRental + parking + taxi + lodging + mealsAmount)
* days + air + milesExpenses + confReg;
allowableExpenses =
(mealsAmount+parkingFeesReimbursed+taxiChargesReimbursed+
lodgingChargesReimbursed)*days+milesExpenses+air+confReg;
if(actualExpenses > allowableExpenses)
paidBackAmount = actualExpenses - allowableExpenses;
else
amountSaved = allowableExpenses - actualExpenses;
if(paidBackAmount > 0)
JOptionPane.showMessageDialog(null,"Total Expenses: "
+ dollar.format(actualExpenses) + " " +
"Allowable expenses: " + dollar.format(allowableExpenses)
+ " " + "Amount to be paid back: " +
dollar.format(paidBackAmount));
else if (amountSaved > 0)
JOptionPane.showMessageDialog(null, "Total expenses: "
+ dollar.format(actualExpenses) + " " + "Allowable "
+ "expenses: " + dollar.format(allowableExpenses)+
" " + "Amount Saved: " + dollar.format(amountSaved));
else
JOptionPane.showMessageDialog(null, "Total expenses: "
+ dollar.format(actualExpenses) + " " + "Allowable "
+ "expenses: " + dollar.format(allowableExpenses)+
" ");
}
}
private class ResetButtonListener implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
numDaysOnTripTextField.setText("");
amountAirfairTextField.setText("");
amountCarRentalTextField.setText("");
milesDrivenTextField.setText("");
parkingFeesTextField.setText("");
taxiFeesTextField.setText("");
confRegTextField.setText("");
lodgingChargesPerNightTextField.setText("");
}
}
public static void main(String[] args)
{
new TravelExpenses();
}
}
Explanation / Answer
Fixed !! Check my comment
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.