501 Version 1

download 501 Version 1

of 6

Transcript of 501 Version 1

  • 8/2/2019 501 Version 1

    1/6

    importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjavax.swing.JButton;importjavax.swing.JTextField;importjava.text.DecimalFormat;publicclassMorgageCalculatorextendsJPanel{//globalvariableprivateJComboBoxIntRates;

    privateJLabelprinlb,rateLb,termLb,paymtLb;

    privateJButtoncalBtn,resetBtn;privateJTextFieldprinTxFld,rateTxFld,termTxFld,monthlyPayment;privateTextAreapayAmortTA;StringcurrentInt;

    publicMorgageCalculator(){String[]comboItems={"5.35","5.50","5.75"};//currentInt=comboItems[0];//removelaterIntRates=newJComboBox(comboItems);

    //createslabelsprinlb=newJLabel("PrincipalAmount:");rateLb=newJLabel("InterestRate:");termLb=newJLabel("Term:");paymtLb=newJLabel("MonthlyPayment:");

  • 8/2/2019 501 Version 1

    2/6

    //createstextfieldsprinTxFld=newJTextField("",10);rateTxFld=newJTextField("",5);rateTxFld.setEditable(false);termTxFld=newJTextField("",5);monthlyPayment=newJTextField("",10);monthlyPayment.setEditable(false);//comboboxpulldownIntRates=newJComboBox(comboItems);IntRates.setEditable(false);

    /*ComboBoxdoesn'tneeditIntRates.addActionListener(this);*/payAmortTA=newTextArea(20,50);//createbuttonscalBtn=newJButton("Calculate");

    calBtn.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEventae){calculateMortgage();}});

    resetBtn=newJButton("Reset");resetBtn.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEventae){prinTxFld.setText("");

  • 8/2/2019 501 Version 1

    3/6

    rateTxFld.setText("");termTxFld.setText("");monthlyPayment.setText("");payAmortTA.setText("");}});

    //addlabelsandfieldsadd(prinlb);add(prinTxFld);add(rateLb);add(IntRates);

    add(rateTxFld);

    add(termLb);add(termTxFld);add(paymtLb);add(monthlyPayment);add(payAmortTA);

    add(calBtn);add(resetBtn);}publicvoidcalculateMortgage(){

    //stringarraytoacceptwhichtermstouse

    rateTxFld.setText(IntRates.getSelectedItem().toString());

    doubleprinciple=Double.parseDouble(prinTxFld.getText());

    doubledblrateTxFld=Double.parseDouble(rateTxFld.getText());

  • 8/2/2019 501 Version 1

    4/6

    if(dblrateTxFld==5.35)termTxFld.setText("7");elseif(dblrateTxFld==5.50)termTxFld.setText("15");

    elseif(dblrateTxFld==5.75)termTxFld.setText("30");intinttermTxFld=Integer.parseInt(termTxFld.getText());

    //Formatstheoutputofdollarfigures

    DecimalFormattwo_decimal=newDecimalFormat("$0,000.00");

    doublePayment;

    doubleInterestPaid;doubleprinTxFldBal;

    doubletemp;

    intMonths;

    doubleintMonthlyRate=dblrateTxFld/100;

    intMonthTerm=inttermTxFld*12;Months=MonthTerm;//formulasPayment=(principle*(intMonthlyRate/12))/(1-1/Math.pow((1+intMonthlyRate/12),MonthTerm));

    //convertsmonthlypaymenttodecimalformat

    monthlyPayment.setText(""+(two_decimal.format(Payment)));

    payAmortTA.append("MonthNo.\tMonthlyPayment\t\tLoanBalance\t\tInterest

  • 8/2/2019 501 Version 1

    5/6

    Payment\n");for(intcounter=0;counter

  • 8/2/2019 501 Version 1

    6/6

    publicstaticvoidmain(String[]args){javax.swing.SwingUtilities.invo

    eLater(newRunnable()

    {publicvoidrun()

    {createAndShowGui();}}

    );

    }

    }