501 Version 1
-
Upload
ronald-barber -
Category
Documents
-
view
215 -
download
0
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();}}
);
}
}