Need help with Mortgage Calculator Program
Thankyou,
Enigmaticn8
//Created by Nathan Knarr on Jan 18, 2007//
//Mortgage Calculator//
import java.text.*;
import javax.swing.*;
import javax.swing.JComboBox;
import java.awt.*;
import java.awt.event.*;
public class MortgageCalculator extends JFrame implements ActionListener
{
private JPanel LabelPane;
private JPanel FieldPane;
private JPanel ButtonPane;
private JLabel LoanAmt;
private JLabel Term;
private JLabel Rate;
private JLabel MonthlyPymt;
private JTextField TxtLoanAmt;
private JTextField TxtTermRate;
private JTextField TxtMthlyPymt;
private JButton Calculate;
private JComboBox;
private String[] termRates = { "5 years @ 5.35%", "7 years @ 5.5%", "10 years @ 5.75%" };
private JButton Reset;
private JButton Exit;
public MortgageCalculator ()
{
//initialize and configure GUI
setTitle("Nathan Knarrs Mortgage Calculator");
Toolkit theKit = this.getToolkit(); //Get the window toolkit
Dimension wndSize = theKit.getScreenSize(); //Get screen size
//Set the position to screen center & size to half screen size
setBounds(wndSize.width/3, wndSize.height/3,wndSize.width/2, wndSize.height/2); // Size
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
//Create Label panel and Labels
JPanel LabelPane = new JPanel();
LabelPane.setLayout(new GridLayout(4,1,0,60));
JLabel LoanAmount = new JLabel("Enter loan amount without comma ");
JLabel TermRate = new JLabel("Enter type of loan");
new JLabel("Enter interest rate, i.e. 5.78, etc ");
JLabel MonthlyPymt = new JLabel("Your monthly loan payment is $");
//Add Labels to Label Panel
LabelPane.add(LoanAmount);
//LabelPane.add(TermRate);
//LabelPane.add(MonthlyPymt);
//Create TextField Panel and TextFields
JPanel FieldPane = new JPanel();
FieldPane.setLayout(new GridLayout(4,1,0,60));{
TxtLoanAmt = new JTextField(5);
//TxtTermRate = new JTextField(5);
//TxtMthlyPymt = new JTextField(5);
myComboBox = new JComboBox(termRates);
//Add Fields to Field Panel
FieldPane.add(TxtLoanAmt);
//FieldPane.add(TxtTermRate);
//FieldPane.add(TxtMthlyPymt);
//Create Button Panel and Button
JPanel ButtonPane = new JPanel();
JButton Calculate = new JButton("Calculate"); //button used to calculate mortgage payment
JButton Reset = new JButton("Reset"); //button used to clear data from the fields
JButton Exit = new JButton("Exit"); // Exit button added
ButtonPane.add(Calculate); // Add to JPanel
ButtonPane.add(Reset); // Reset button added to JPanel
ButtonPane.add(Exit); // Exit button added to Panel
//Add panels to container of window
Container content = this.getContentPane();
content.setLayout(new BorderLayout());
content.add(LabelPane, BorderLayout.WEST);
content.add(FieldPane, BorderLayout.CENTER);
content.add(ButtonPane, BorderLayout.SOUTH);
//Set action commands for the text fields
Calculate.addActionListener(this);
Reset.addActionListener(this);
Exit.addActionListener(this);
this.setVisible(true);}
}
public void myComboBox.getSelectIndex(); //setResultValue()
{
double amount = Double.parseDouble (TxtLoanAmt.getText());
int term = Integer.parseInt(TxtTerm.getText())*12;
double rate = Double.parseDouble (TxtRate.getText()) / 100;
double result = (amount*(rate/12)) / (1 - 1 /Math.pow((1 + rate/12), term));
//Format results with two decimals
DecimalFormat twoDigits = new DecimalFormat("$#,000.00");
TxtMthlyPymt.setText(twoDigits.format (result));
}
public void actionPerformed(ActionEvent ae)
{
if (ae.getActionCommand().equals("Calculate"))
{
setResultValue();
}
else if (ae.getActionCommand().equals("Reset"))
{
TxtLoanAmt.setText("");
TxtTermRate.setText("");
TxtMthlyPymt.setText("");
}
else if (ae.getActionCommand().equals("Exit"))
{
System.exit(0);
}
}
public static void main(String[] args)
{
MortgageCalculator frame = new MortgageCalculator();
}
}

