Monty374

7.3

Dec 6th, 2016
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.63 KB | None | 0 0
  1. package loancalculator;
  2.  
  3.  
  4. import javafx.scene.control.TextField;
  5. import javafx.scene.control.*;
  6. import javafx.application.Application;
  7. import javafx.geometry.HPos;
  8. import javafx.geometry.Pos;
  9. import javafx.scene.Scene;
  10. import javafx.scene.layout.GridPane;
  11. import javafx.stage.Stage;
  12.  
  13.  
  14. public class LoanCalculator extends Application {
  15. private TextField tfAnnualIntRate = new TextField();
  16. private TextField tfNumYears = new TextField();
  17. private TextField tfLoanAmount = new TextField();
  18. private TextField tfMonthlyPayment = new TextField();
  19. private TextField tfTotPayment = new TextField();
  20. private Button btCalc = new Button("Calculate");
  21. private Button btReset = new Button("Reset");
  22. @Override
  23. public void start(Stage stage1){
  24. GridPane gp = new GridPane();
  25. gp.setHgap(5);
  26. gp.setVgap(5);
  27. gp.add(new Label("Annual Interest Rate:"),0,0);
  28. gp.add(tfAnnualIntRate,1,0);
  29. gp.add(new Label("Number of Years:"),0,1);
  30. gp.add(tfNumYears,1,1);
  31. gp.add(new Label("Loan Amount:"),0,2);
  32. gp.add(tfLoanAmount,1,2);
  33. gp.add(new Label("Monthly Payment:"),0,3);
  34. gp.add(tfMonthlyPayment,1,3);
  35. gp.add(new Label("Total Payment:"),0,4);
  36. gp.add(tfTotPayment,1,4);
  37. gp.add(btCalc,1,5);
  38. gp.add(btReset,0,5);
  39.  
  40. gp.setAlignment(Pos.CENTER);
  41. tfAnnualIntRate.setAlignment(Pos.BOTTOM_RIGHT);
  42. tfNumYears.setAlignment(Pos.BOTTOM_RIGHT);
  43. tfLoanAmount.setAlignment(Pos.BOTTOM_RIGHT);
  44. tfMonthlyPayment.setAlignment(Pos.BOTTOM_RIGHT);
  45. tfTotPayment.setAlignment(Pos.BOTTOM_RIGHT);
  46. tfMonthlyPayment.setEditable(false);
  47. tfTotPayment.setEditable(false);
  48. gp.setHalignment(btCalc,HPos.RIGHT);
  49. gp.setHalignment(btReset,HPos.RIGHT);
  50.  
  51. btCalc.setOnAction(e -> calculateLoanPayment());
  52. btReset.setOnAction((ActionEvent) -> {
  53. tfAnnualIntRate.setText(" ");
  54. tfNumYears.setText(" ");
  55. tfLoanAmount.setText(" ");
  56. tfMonthlyPayment.setText(" ");
  57. tfTotPayment.setText(" ");
  58. });
  59.  
  60. Scene scene = new Scene(gp, 400,250);
  61. stage1.setTitle("Loan Calculator");
  62. stage1.setScene(scene);
  63. stage1.show();
  64.  
  65. }
  66.  
  67. private void calculateLoanPayment(){
  68. double interest = Double.parseDouble(tfAnnualIntRate.getText());
  69. int year = Integer.parseInt(tfNumYears.getText());
  70. double loanAmount = Double.parseDouble(tfLoanAmount.getText());
  71. Loan loan = new Loan(interest, year, loanAmount);
  72.  
  73. tfMonthlyPayment.setText(String.format("$%.2f",loan.getMonthlyPayment()));
  74. tfTotPayment.setText(String.format("$%.2f", loan.getTotalPayment()));
  75. }
  76. }
Advertisement
Add Comment
Please, Sign In to add comment