Advertisement
Guest User

APR Calculator Final Build

a guest
Sep 16th, 2014
217
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 33.31 KB | None | 0 0
  1. package os.x.calculator;
  2.  
  3. import java.util.Locale;
  4. import javax.swing.*;
  5.  
  6.  
  7. public class OSXCalcUI extends javax.swing.JFrame {
  8.  
  9.     public OSXCalcUI() {
  10.         initComponents();
  11.                 six_monthlypaybox.setVisible(false);
  12.                 six_totalrepaybox.setVisible(false);
  13.                 sixmonthslabel.setVisible(false);
  14.                 sixty_monthlypaybox99.setVisible(false);
  15.                 sixty_totalrepaybox99.setVisible(false);
  16.                 sixtymonthslabel99.setVisible(false);
  17.                 ten_monthlypaybox.setVisible(false);
  18.                 ten_totalrepaybox.setVisible(false);
  19.                 tenmonthslabel.setVisible(false);
  20.                 textField8.setVisible(false);
  21.                 threesix_monthlypaybox99.setVisible(false);
  22.                 threesix_totalrepaybox99.setVisible(false);
  23.                 threesixmonthslabel99.setVisible(false);
  24.                 totalrepayment.setVisible(false);
  25.                 totalrepayment99.setVisible(false);
  26.                 twelve_monthlypaybox.setVisible(false);
  27.                 twelve_monthlypaybox99.setVisible(false);
  28.                 twelve_totalrepaybox.setVisible(false);
  29.                 twelve_totalrepaybox99.setVisible(false);
  30.                 twelvemonthslabel.setVisible(false);
  31.                 twelvemonthslabel99.setVisible(false);
  32.                 twofour_monthlypaybox.setVisible(false);
  33.                 twofour_monthlypaybox99.setVisible(false);
  34.                 twofour_totalrepaybox.setVisible(false);
  35.                 twofour_totalrepaybox99.setVisible(false);
  36.                 twofourmonthslabel.setVisible(false);
  37.                 twofourmonthslabel_99.setVisible(false);
  38.                 eighteen_monthlypaybox.setVisible(false);
  39.                 eighteen_totalrepaybox.setVisible(false);
  40.                 eighteenmonthslabel.setVisible(false);
  41.                 foureight_monthlypaybox99.setVisible(false);
  42.                 foureight_totalrepaybox99.setVisible(false);
  43.                 foureightmonthslabel99.setVisible(false);
  44.                 interestlabel99.setVisible(false);
  45.                 label1.setVisible(false);
  46.                 monthlypayment.setVisible(false);
  47.                 monthlypayment99.setVisible(false);
  48.                 nointerestlabel.setVisible(false);
  49.     }
  50.     @SuppressWarnings("unchecked")
  51.     // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
  52.     private void initComponents() {
  53.  
  54.         jLabel1 = new javax.swing.JLabel();
  55.         jFrame1 = new javax.swing.JFrame();
  56.         textField8 = new java.awt.TextField();
  57.         mypficon = new javax.swing.JLabel();
  58.         costoftreatmentbox = new javax.swing.JTextField();
  59.         depositbox = new javax.swing.JTextField();
  60.         amountfinancedbox = new javax.swing.JTextField();
  61.         costoftreatmentlabel = new javax.swing.JLabel();
  62.         depositlabel = new javax.swing.JLabel();
  63.         amountfinancedlabel = new javax.swing.JLabel();
  64.         calculate_button = new javax.swing.JButton();
  65.         clearall_button = new javax.swing.JButton();
  66.         showcolumsnointerest = new javax.swing.JButton();
  67.         showcolumns99interest = new javax.swing.JButton();
  68.         label1 = new java.awt.Label();
  69.         monthlypayment99 = new java.awt.Label();
  70.         totalrepayment99 = new java.awt.Label();
  71.         totalrepayment = new java.awt.Label();
  72.         monthlypayment = new java.awt.Label();
  73.         nointerestlabel = new java.awt.Label();
  74.         six_monthlypaybox = new java.awt.TextField();
  75.         ten_monthlypaybox = new java.awt.TextField();
  76.         twelve_monthlypaybox = new java.awt.TextField();
  77.         eighteen_monthlypaybox = new java.awt.TextField();
  78.         twofour_monthlypaybox = new java.awt.TextField();
  79.         six_totalrepaybox = new java.awt.TextField();
  80.         ten_totalrepaybox = new java.awt.TextField();
  81.         twelve_totalrepaybox = new java.awt.TextField();
  82.         eighteen_totalrepaybox = new java.awt.TextField();
  83.         twofour_totalrepaybox = new java.awt.TextField();
  84.         interestlabel99 = new java.awt.Label();
  85.         twelvemonthslabel99 = new java.awt.Label();
  86.         twofourmonthslabel_99 = new java.awt.Label();
  87.         threesixmonthslabel99 = new java.awt.Label();
  88.         foureightmonthslabel99 = new java.awt.Label();
  89.         sixtymonthslabel99 = new java.awt.Label();
  90.         twelve_monthlypaybox99 = new java.awt.TextField();
  91.         twelve_totalrepaybox99 = new java.awt.TextField();
  92.         twofour_monthlypaybox99 = new java.awt.TextField();
  93.         threesix_monthlypaybox99 = new java.awt.TextField();
  94.         foureight_monthlypaybox99 = new java.awt.TextField();
  95.         sixty_monthlypaybox99 = new java.awt.TextField();
  96.         twofour_totalrepaybox99 = new java.awt.TextField();
  97.         threesix_totalrepaybox99 = new java.awt.TextField();
  98.         foureight_totalrepaybox99 = new java.awt.TextField();
  99.         sixty_totalrepaybox99 = new java.awt.TextField();
  100.         sixmonthslabel = new java.awt.Label();
  101.         tenmonthslabel = new java.awt.Label();
  102.         twelvemonthslabel = new java.awt.Label();
  103.         eighteenmonthslabel = new java.awt.Label();
  104.         twofourmonthslabel = new java.awt.Label();
  105.         showbothbutton = new javax.swing.JButton();
  106.  
  107.         jLabel1.setText("jLabel1");
  108.  
  109.         javax.swing.GroupLayout jFrame1Layout = new javax.swing.GroupLayout(jFrame1.getContentPane());
  110.         jFrame1.getContentPane().setLayout(jFrame1Layout);
  111.         jFrame1Layout.setHorizontalGroup(
  112.             jFrame1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  113.             .addGap(0, 400, Short.MAX_VALUE)
  114.         );
  115.         jFrame1Layout.setVerticalGroup(
  116.             jFrame1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  117.             .addGap(0, 300, Short.MAX_VALUE)
  118.         );
  119.  
  120.         textField8.setText("textField8");
  121.  
  122.         setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
  123.         setResizable(false);
  124.         getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
  125.  
  126.         mypficon.setIcon(new javax.swing.ImageIcon(getClass().getResource("/os/x/image/mpf_logo-page-002.jpg"))); // NOI18N
  127.         getContentPane().add(mypficon, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 51, -1, -1));
  128.         getContentPane().add(costoftreatmentbox, new org.netbeans.lib.awtextra.AbsoluteConstraints(425, 52, 77, -1));
  129.         getContentPane().add(depositbox, new org.netbeans.lib.awtextra.AbsoluteConstraints(425, 80, 77, -1));
  130.  
  131.         amountfinancedbox.setEditable(false);
  132.         amountfinancedbox.setBackground(new java.awt.Color(255, 255, 51));
  133.         getContentPane().add(amountfinancedbox, new org.netbeans.lib.awtextra.AbsoluteConstraints(425, 109, 77, -1));
  134.  
  135.         costoftreatmentlabel.setText("Cost of Treatment");
  136.         getContentPane().add(costoftreatmentlabel, new org.netbeans.lib.awtextra.AbsoluteConstraints(317, 55, -1, -1));
  137.  
  138.         depositlabel.setText("Deposit");
  139.         getContentPane().add(depositlabel, new org.netbeans.lib.awtextra.AbsoluteConstraints(317, 83, -1, -1));
  140.  
  141.         amountfinancedlabel.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
  142.         amountfinancedlabel.setText("Amount Financed");
  143.         getContentPane().add(amountfinancedlabel, new org.netbeans.lib.awtextra.AbsoluteConstraints(317, 112, -1, -1));
  144.  
  145.         calculate_button.setText("Calculate");
  146.         calculate_button.addActionListener(new java.awt.event.ActionListener() {
  147.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  148.                 calculate_buttonActionPerformed(evt);
  149.             }
  150.         });
  151.         getContentPane().add(calculate_button, new org.netbeans.lib.awtextra.AbsoluteConstraints(425, 140, -1, -1));
  152.  
  153.         clearall_button.setText("Clear All");
  154.         clearall_button.addActionListener(new java.awt.event.ActionListener() {
  155.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  156.                 clearall_buttonActionPerformed(evt);
  157.             }
  158.         });
  159.         getContentPane().add(clearall_button, new org.netbeans.lib.awtextra.AbsoluteConstraints(344, 140, -1, -1));
  160.  
  161.         showcolumsnointerest.setText("Show 0.0 Interest");
  162.         showcolumsnointerest.addActionListener(new java.awt.event.ActionListener() {
  163.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  164.                 showcolumsnointerestActionPerformed(evt);
  165.             }
  166.         });
  167.         getContentPane().add(showcolumsnointerest, new org.netbeans.lib.awtextra.AbsoluteConstraints(520, 51, 130, -1));
  168.  
  169.         showcolumns99interest.setText("Show 9.9 Interest");
  170.         showcolumns99interest.addActionListener(new java.awt.event.ActionListener() {
  171.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  172.                 showcolumns99interestActionPerformed(evt);
  173.             }
  174.         });
  175.         getContentPane().add(showcolumns99interest, new org.netbeans.lib.awtextra.AbsoluteConstraints(520, 80, 130, -1));
  176.  
  177.         label1.setText("label1");
  178.         label1.setVisible(false);
  179.         getContentPane().add(label1, new org.netbeans.lib.awtextra.AbsoluteConstraints(650, 80, 0, 0));
  180.  
  181.         monthlypayment99.setText("Monthly Payment");
  182.         getContentPane().add(monthlypayment99, new org.netbeans.lib.awtextra.AbsoluteConstraints(349, 226, -1, -1));
  183.  
  184.         totalrepayment99.setText("Total Repayment");
  185.         getContentPane().add(totalrepayment99, new org.netbeans.lib.awtextra.AbsoluteConstraints(493, 226, -1, -1));
  186.  
  187.         totalrepayment.setText("Total Repayment");
  188.         getContentPane().add(totalrepayment, new org.netbeans.lib.awtextra.AbsoluteConstraints(203, 226, -1, -1));
  189.  
  190.         monthlypayment.setText("Monthly Payment");
  191.         getContentPane().add(monthlypayment, new org.netbeans.lib.awtextra.AbsoluteConstraints(65, 226, -1, -1));
  192.  
  193.         nointerestlabel.setName(""); // NOI18N
  194.         nointerestlabel.setText("0.0% Interest");
  195.         getContentPane().add(nointerestlabel, new org.netbeans.lib.awtextra.AbsoluteConstraints(224, 255, -1, -1));
  196.  
  197.         six_monthlypaybox.setEditable(false);
  198.         getContentPane().add(six_monthlypaybox, new org.netbeans.lib.awtextra.AbsoluteConstraints(81, 289, 80, -1));
  199.  
  200.         ten_monthlypaybox.setEditable(false);
  201.         getContentPane().add(ten_monthlypaybox, new org.netbeans.lib.awtextra.AbsoluteConstraints(81, 319, 80, -1));
  202.  
  203.         twelve_monthlypaybox.setEditable(false);
  204.         getContentPane().add(twelve_monthlypaybox, new org.netbeans.lib.awtextra.AbsoluteConstraints(81, 349, 80, -1));
  205.  
  206.         eighteen_monthlypaybox.setEditable(false);
  207.         getContentPane().add(eighteen_monthlypaybox, new org.netbeans.lib.awtextra.AbsoluteConstraints(81, 379, 80, -1));
  208.  
  209.         twofour_monthlypaybox.setEditable(false);
  210.         getContentPane().add(twofour_monthlypaybox, new org.netbeans.lib.awtextra.AbsoluteConstraints(81, 409, 80, -1));
  211.  
  212.         six_totalrepaybox.setEditable(false);
  213.         getContentPane().add(six_totalrepaybox, new org.netbeans.lib.awtextra.AbsoluteConstraints(220, 289, 80, -1));
  214.  
  215.         ten_totalrepaybox.setEditable(false);
  216.         getContentPane().add(ten_totalrepaybox, new org.netbeans.lib.awtextra.AbsoluteConstraints(220, 319, 80, -1));
  217.  
  218.         twelve_totalrepaybox.setEditable(false);
  219.         getContentPane().add(twelve_totalrepaybox, new org.netbeans.lib.awtextra.AbsoluteConstraints(220, 349, 80, -1));
  220.  
  221.         eighteen_totalrepaybox.setEditable(false);
  222.         getContentPane().add(eighteen_totalrepaybox, new org.netbeans.lib.awtextra.AbsoluteConstraints(220, 379, 80, -1));
  223.  
  224.         twofour_totalrepaybox.setEditable(false);
  225.         getContentPane().add(twofour_totalrepaybox, new org.netbeans.lib.awtextra.AbsoluteConstraints(220, 409, 80, -1));
  226.  
  227.         interestlabel99.setText("9.9% Interest");
  228.         getContentPane().add(interestlabel99, new org.netbeans.lib.awtextra.AbsoluteConstraints(514, 256, -1, -1));
  229.  
  230.         twelvemonthslabel99.setText("12 Months");
  231.         getContentPane().add(twelvemonthslabel99, new org.netbeans.lib.awtextra.AbsoluteConstraints(317, 289, -1, -1));
  232.  
  233.         twofourmonthslabel_99.setText("24 Months");
  234.         getContentPane().add(twofourmonthslabel_99, new org.netbeans.lib.awtextra.AbsoluteConstraints(317, 319, -1, -1));
  235.  
  236.         threesixmonthslabel99.setText("36 Months");
  237.         getContentPane().add(threesixmonthslabel99, new org.netbeans.lib.awtextra.AbsoluteConstraints(317, 349, -1, -1));
  238.  
  239.         foureightmonthslabel99.setText("48 Months");
  240.         getContentPane().add(foureightmonthslabel99, new org.netbeans.lib.awtextra.AbsoluteConstraints(317, 379, -1, -1));
  241.  
  242.         sixtymonthslabel99.setText("60 Months");
  243.         getContentPane().add(sixtymonthslabel99, new org.netbeans.lib.awtextra.AbsoluteConstraints(317, 409, -1, -1));
  244.  
  245.         twelve_monthlypaybox99.setEditable(false);
  246.         getContentPane().add(twelve_monthlypaybox99, new org.netbeans.lib.awtextra.AbsoluteConstraints(388, 289, 80, -1));
  247.  
  248.         twelve_totalrepaybox99.setEditable(false);
  249.         getContentPane().add(twelve_totalrepaybox99, new org.netbeans.lib.awtextra.AbsoluteConstraints(510, 289, 80, -1));
  250.  
  251.         twofour_monthlypaybox99.setEditable(false);
  252.         getContentPane().add(twofour_monthlypaybox99, new org.netbeans.lib.awtextra.AbsoluteConstraints(388, 319, 80, -1));
  253.  
  254.         threesix_monthlypaybox99.setEditable(false);
  255.         getContentPane().add(threesix_monthlypaybox99, new org.netbeans.lib.awtextra.AbsoluteConstraints(388, 349, 80, -1));
  256.  
  257.         foureight_monthlypaybox99.setEditable(false);
  258.         getContentPane().add(foureight_monthlypaybox99, new org.netbeans.lib.awtextra.AbsoluteConstraints(388, 379, 80, -1));
  259.  
  260.         sixty_monthlypaybox99.setEditable(false);
  261.         getContentPane().add(sixty_monthlypaybox99, new org.netbeans.lib.awtextra.AbsoluteConstraints(388, 409, 80, -1));
  262.  
  263.         twofour_totalrepaybox99.setEditable(false);
  264.         getContentPane().add(twofour_totalrepaybox99, new org.netbeans.lib.awtextra.AbsoluteConstraints(510, 319, 80, -1));
  265.  
  266.         threesix_totalrepaybox99.setEditable(false);
  267.         getContentPane().add(threesix_totalrepaybox99, new org.netbeans.lib.awtextra.AbsoluteConstraints(510, 349, 80, -1));
  268.  
  269.         foureight_totalrepaybox99.setEditable(false);
  270.         getContentPane().add(foureight_totalrepaybox99, new org.netbeans.lib.awtextra.AbsoluteConstraints(510, 379, 80, -1));
  271.  
  272.         sixty_totalrepaybox99.setEditable(false);
  273.         getContentPane().add(sixty_totalrepaybox99, new org.netbeans.lib.awtextra.AbsoluteConstraints(510, 409, 80, -1));
  274.  
  275.         sixmonthslabel.setText("6 Months");
  276.         getContentPane().add(sixmonthslabel, new org.netbeans.lib.awtextra.AbsoluteConstraints(17, 289, -1, -1));
  277.  
  278.         tenmonthslabel.setText("10 Months");
  279.         getContentPane().add(tenmonthslabel, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 319, -1, -1));
  280.  
  281.         twelvemonthslabel.setText("12 Months");
  282.         getContentPane().add(twelvemonthslabel, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 349, -1, -1));
  283.  
  284.         eighteenmonthslabel.setText("18 Months");
  285.         getContentPane().add(eighteenmonthslabel, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 379, -1, -1));
  286.  
  287.         twofourmonthslabel.setText("24 Months");
  288.         getContentPane().add(twofourmonthslabel, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 409, -1, -1));
  289.  
  290.         showbothbutton.setText("Show Both");
  291.         showbothbutton.addActionListener(new java.awt.event.ActionListener() {
  292.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  293.                 showbothbuttonActionPerformed(evt);
  294.             }
  295.         });
  296.         getContentPane().add(showbothbutton, new org.netbeans.lib.awtextra.AbsoluteConstraints(520, 110, 130, -1));
  297.  
  298.         pack();
  299.     }// </editor-fold>                        
  300.     String temp, temp2, temp3, temp4;
  301.     boolean sentinel = true;
  302.     boolean breakwhile;
  303.     int i = 0;
  304.     double contractprice, deposit, amounttofinance, monthlypmt, totalrepay, interest, months, rateaddone;
  305.     double rateaddonepowermonths;
  306.     double twelve99, twentyfour99, thirtysix99, fourtyeight99, sixty99;
  307.     double twelve_total99, twentyfour_total99, thirtysix_total99, fourtyeight_toal99, sixty_total99;
  308.     double six, ten, twelve, eighteen, twentyfour;
  309.     double six_total,ten_total, twelve_total, eighteen_total, twentyfour_total;
  310.     double[] returnwithinterest, returnnointerest, holdreturn;
  311.     java.awt.TextField textfields;
  312.     java.awt.Label labels;
  313.    
  314.  
  315.     private void calculate_buttonActionPerformed(java.awt.event.ActionEvent evt) {                                                
  316.        
  317.     calculate();
  318.        
  319.     }                                                
  320.  
  321.     private void showcolumns99interestActionPerformed(java.awt.event.ActionEvent evt) {                                                      
  322.                 six_monthlypaybox.setVisible(false);
  323.                 six_totalrepaybox.setVisible(false);
  324.                 sixmonthslabel.setVisible(false);
  325.                 sixty_monthlypaybox99.setVisible(true);
  326.                 sixty_totalrepaybox99.setVisible(true);
  327.                 sixtymonthslabel99.setVisible(true);
  328.                 ten_monthlypaybox.setVisible(false);
  329.                 ten_totalrepaybox.setVisible(false);
  330.                 tenmonthslabel.setVisible(false);
  331.                 textField8.setVisible(false);
  332.                 threesix_monthlypaybox99.setVisible(true);
  333.                 threesix_totalrepaybox99.setVisible(true);
  334.                 threesixmonthslabel99.setVisible(true);
  335.                 totalrepayment.setVisible(false);
  336.                 totalrepayment99.setVisible(true);
  337.                 twelve_monthlypaybox.setVisible(false);
  338.                 twelve_monthlypaybox99.setVisible(true);
  339.                 twelve_totalrepaybox.setVisible(false);
  340.                 twelve_totalrepaybox99.setVisible(true);
  341.                 twelvemonthslabel.setVisible(false);
  342.                 twelvemonthslabel99.setVisible(true);
  343.                 twofour_monthlypaybox.setVisible(false);
  344.                 twofour_monthlypaybox99.setVisible(true);
  345.                 twofour_totalrepaybox.setVisible(false);
  346.                 twofour_totalrepaybox99.setVisible(true);
  347.                 twofourmonthslabel.setVisible(false);
  348.                 twofourmonthslabel_99.setVisible(true);
  349.                 eighteen_monthlypaybox.setVisible(false);
  350.                 eighteen_totalrepaybox.setVisible(false);
  351.                 eighteenmonthslabel.setVisible(false);
  352.                 foureight_monthlypaybox99.setVisible(true);
  353.                 foureight_totalrepaybox99.setVisible(true);
  354.                 foureightmonthslabel99.setVisible(true);
  355.                 interestlabel99.setVisible(true);
  356.                 label1.setVisible(true);
  357.                 monthlypayment.setVisible(false);
  358.                 monthlypayment99.setVisible(true);
  359.                 nointerestlabel.setVisible(false);
  360.     }                                                    
  361.  
  362.     private void clearall_buttonActionPerformed(java.awt.event.ActionEvent evt) {                                                
  363.         costoftreatmentbox.setText("");
  364.         depositbox.setText("");
  365.         amountfinancedbox.setText("");
  366.        
  367.     }                                              
  368.  
  369.     private void showcolumsnointerestActionPerformed(java.awt.event.ActionEvent evt) {                                                    
  370.                 six_monthlypaybox.setVisible(true);
  371.                 six_totalrepaybox.setVisible(true);
  372.                 sixmonthslabel.setVisible(true);
  373.                 sixty_monthlypaybox99.setVisible(false);
  374.                 sixty_totalrepaybox99.setVisible(false);
  375.                 sixtymonthslabel99.setVisible(false);
  376.                 ten_monthlypaybox.setVisible(true);
  377.                 ten_totalrepaybox.setVisible(true);
  378.                 tenmonthslabel.setVisible(true);
  379.                 textField8.setVisible(false);
  380.                 threesix_monthlypaybox99.setVisible(false);
  381.                 threesix_totalrepaybox99.setVisible(false);
  382.                 threesixmonthslabel99.setVisible(false);
  383.                 totalrepayment.setVisible(true);
  384.                 totalrepayment99.setVisible(false);
  385.                 twelve_monthlypaybox.setVisible(true);
  386.                 twelve_monthlypaybox99.setVisible(false);
  387.                 twelve_totalrepaybox.setVisible(true);
  388.                 twelve_totalrepaybox99.setVisible(false);
  389.                 twelvemonthslabel.setVisible(true);
  390.                 twelvemonthslabel99.setVisible(false);
  391.                 twofour_monthlypaybox.setVisible(true);
  392.                 twofour_monthlypaybox99.setVisible(false);
  393.                 twofour_totalrepaybox.setVisible(true);
  394.                 twofour_totalrepaybox99.setVisible(false);
  395.                 twofourmonthslabel.setVisible(true);
  396.                 twofourmonthslabel_99.setVisible(false);
  397.                 eighteen_monthlypaybox.setVisible(true);
  398.                 eighteen_totalrepaybox.setVisible(true);
  399.                 eighteenmonthslabel.setVisible(true);
  400.                 foureight_monthlypaybox99.setVisible(false);
  401.                 foureight_totalrepaybox99.setVisible(false);
  402.                 foureightmonthslabel99.setVisible(false);
  403.                 interestlabel99.setVisible(false);
  404.                 label1.setVisible(true);
  405.                 monthlypayment.setVisible(true);
  406.                 monthlypayment99.setVisible(false);
  407.                 nointerestlabel.setVisible(true);
  408.    
  409.     }                                                    
  410.  
  411.     private void showbothbuttonActionPerformed(java.awt.event.ActionEvent evt) {                                              
  412.                 six_monthlypaybox.setVisible(true);
  413.                 six_totalrepaybox.setVisible(true);
  414.                 sixmonthslabel.setVisible(true);
  415.                 sixty_monthlypaybox99.setVisible(true);
  416.                 sixty_totalrepaybox99.setVisible(true);
  417.                 sixtymonthslabel99.setVisible(true);
  418.                 ten_monthlypaybox.setVisible(true);
  419.                 ten_totalrepaybox.setVisible(true);
  420.                 tenmonthslabel.setVisible(true);
  421.                 textField8.setVisible(true);
  422.                 threesix_monthlypaybox99.setVisible(true);
  423.                 threesix_totalrepaybox99.setVisible(true);
  424.                 threesixmonthslabel99.setVisible(true);
  425.                 totalrepayment.setVisible(true);
  426.                 totalrepayment99.setVisible(true);
  427.                 twelve_monthlypaybox.setVisible(true);
  428.                 twelve_monthlypaybox99.setVisible(true);
  429.                 twelve_totalrepaybox.setVisible(true);
  430.                 twelve_totalrepaybox99.setVisible(true);
  431.                 twelvemonthslabel.setVisible(true);
  432.                 twelvemonthslabel99.setVisible(true);
  433.                 twofour_monthlypaybox.setVisible(true);
  434.                 twofour_monthlypaybox99.setVisible(true);
  435.                 twofour_totalrepaybox.setVisible(true);
  436.                 twofour_totalrepaybox99.setVisible(true);
  437.                 twofourmonthslabel.setVisible(true);
  438.                 twofourmonthslabel_99.setVisible(true);
  439.                 eighteen_monthlypaybox.setVisible(true);
  440.                 eighteen_totalrepaybox.setVisible(true);
  441.                 eighteenmonthslabel.setVisible(true);
  442.                 foureight_monthlypaybox99.setVisible(true);
  443.                 foureight_totalrepaybox99.setVisible(true);
  444.                 foureightmonthslabel99.setVisible(true);
  445.                 interestlabel99.setVisible(true);
  446.                 label1.setVisible(true);
  447.                 monthlypayment.setVisible(true);
  448.                 monthlypayment99.setVisible(true);
  449.                 nointerestlabel.setVisible(true);
  450.    
  451.     }                                              
  452.  
  453.     private boolean verifyinput(javax.swing.JTextField field, String boxname )
  454.             {
  455.                 temp = field.getText();
  456.                 if ("".equals(temp))
  457.                 {
  458.                     JOptionPane.showMessageDialog(null, "You cannot leave the " +
  459.                             boxname + " box empty!", "Input Error", JOptionPane.ERROR_MESSAGE);
  460.                     return false;
  461.                 }
  462.                 else
  463.                 {
  464.                     return true;
  465.                 }            
  466.             }
  467.    
  468.     private double[] get_payment_and_repay_99(double interest,double financed, int months)
  469.     {
  470.         //Monthly payment = P * ((J/1-(1 + J)^-n))
  471.        
  472.         double interestplusone = interest + 1;
  473.         double interesttopower = Math.pow(interestplusone, -months);
  474.         double onelessinttopow = 1 - interesttopower;
  475.         double dividebyonelessinttopow = interest / onelessinttopow;
  476.         monthlypmt = financed * dividebyonelessinttopow;
  477.         totalrepay = monthlypmt * months;
  478.        
  479.         //Incorrect math commented out
  480.        
  481.         //rateaddone = rate + 1;
  482.         //rateaddonepowermonths = Math.pow(rateaddone, (months - 1));
  483.         //monthlypmt = financed * (rate + rate / ( (rateaddonepowermonths - 1)));
  484.         //totalrepay = monthlypmt * months;
  485.        
  486.        
  487.         returnwithinterest = new double[2];
  488.         returnwithinterest[0] = monthlypmt;
  489.         returnwithinterest[1] = totalrepay;
  490.         return returnwithinterest;
  491.     }
  492.    
  493.     private void calculate()
  494.     {
  495.         while (sentinel != false && breakwhile == false)
  496.         {
  497.             sentinel = verifyinput(costoftreatmentbox, "Cost of Treatment");
  498.             sentinel = verifyinput(depositbox, "Deposit");
  499.             if (sentinel == true)
  500.             {
  501.                 breakwhile = true;
  502.             }
  503.         }
  504.         String tempprice = costoftreatmentbox.getText();
  505.         String tempdeposit = depositbox.getText();
  506.         double temppricefromstring = Double.parseDouble(tempprice);
  507.         double tempdepositfromstring = Double.parseDouble(tempdeposit);
  508.         double financeamount = temppricefromstring - tempdepositfromstring;
  509.         String financefromdouble = String.format(Locale.UK, "%.2f", financeamount);
  510.         amountfinancedbox.setText(financefromdouble);
  511.        
  512.         //Monthly payment = loan amount * [rate + rate / ( (1+rate) ^ months -1) ]
  513.         temp2 = costoftreatmentbox.getText();
  514.         contractprice = Float.parseFloat(temp2);
  515.         temp2 = depositbox.getText();
  516.         deposit = Float.parseFloat(temp2);
  517.         amounttofinance = contractprice - deposit;
  518.         holdreturn = get_payment_and_repay_99(.00825,amounttofinance,12);
  519.         temp = String.format(Locale.UK, "%.2f", holdreturn[0]);
  520.         twelve_monthlypaybox99.setText(temp);
  521.         temp = String.format(Locale.UK, "%.2f", holdreturn[1]);
  522.         twelve_totalrepaybox99.setText(temp);
  523.         holdreturn = get_payment_and_repay_99(.00825,amounttofinance,24);
  524.         temp = String.format(Locale.UK, "%.2f", holdreturn[0]);
  525.         twofour_monthlypaybox99.setText(temp);
  526.         temp = String.format(Locale.UK, "%.2f", holdreturn[1]);
  527.         twofour_totalrepaybox99.setText(temp);
  528.         holdreturn = get_payment_and_repay_99(.00825,amounttofinance,36);
  529.         temp = String.format(Locale.UK, "%.2f", holdreturn[0]);
  530.         threesix_monthlypaybox99.setText(temp);
  531.         temp = String.format(Locale.UK, "%.2f", holdreturn[1]);
  532.         threesix_totalrepaybox99.setText(temp);
  533.         holdreturn = get_payment_and_repay_99(.00825,amounttofinance,48);
  534.         temp = String.format(Locale.UK, "%.2f", holdreturn[0]);
  535.         foureight_monthlypaybox99.setText(temp);
  536.         temp = String.format(Locale.UK, "%.2f", holdreturn[1]);
  537.         foureight_totalrepaybox99.setText(temp);
  538.         holdreturn = get_payment_and_repay_99(.00825,amounttofinance,60);
  539.         temp = String.format(Locale.UK, "%.2f", holdreturn[0]);
  540.         sixty_monthlypaybox99.setText(temp);
  541.         temp = String.format(Locale.UK, "%.2f", holdreturn[1]);
  542.         sixty_totalrepaybox99.setText(temp);
  543.         holdreturn = get_payment_and_repay_0(amounttofinance, 6);
  544.         temp = String.format(Locale.UK, "%.2f", holdreturn[0]);
  545.         six_monthlypaybox.setText(temp);
  546.         temp = String.format(Locale.UK, "%.2f", holdreturn[1]);
  547.         six_totalrepaybox.setText(temp);
  548.         holdreturn = get_payment_and_repay_0(amounttofinance, 10);
  549.         temp = String.format(Locale.UK, "%.2f", holdreturn[0]);
  550.         ten_monthlypaybox.setText(temp);
  551.         temp = String.format(Locale.UK, "%.2f", holdreturn[1]);
  552.         ten_totalrepaybox.setText(temp);
  553.         holdreturn = get_payment_and_repay_0(amounttofinance, 12);
  554.         temp = String.format(Locale.UK, "%.2f", holdreturn[0]);
  555.         twelve_monthlypaybox.setText(temp);
  556.         temp = String.format(Locale.UK, "%.2f", holdreturn[1]);
  557.         twelve_totalrepaybox.setText(temp);
  558.         holdreturn = get_payment_and_repay_0(amounttofinance, 18);
  559.         temp = String.format(Locale.UK, "%.2f", holdreturn[0]);
  560.         eighteen_monthlypaybox.setText(temp);
  561.         temp = String.format(Locale.UK, "%.2f", holdreturn[1]);
  562.         eighteen_totalrepaybox.setText(temp);
  563.         holdreturn = get_payment_and_repay_0(amounttofinance, 24);
  564.         temp = String.format(Locale.UK, "%.2f", holdreturn[0]);
  565.         twofour_monthlypaybox.setText(temp);
  566.         temp = String.format(Locale.UK, "%.2f", holdreturn[1]);
  567.         twofour_totalrepaybox.setText(temp);
  568.     }
  569.    
  570.     private double[] get_payment_and_repay_0(double financed, int months)
  571.     {
  572.         //Monthly payment = loan amount / months
  573.         monthlypmt = financed/months;
  574.         totalrepay = financed;
  575.         returnnointerest = new double[2];
  576.         returnnointerest[0] = monthlypmt;
  577.         returnnointerest[1] = totalrepay;
  578.         return returnnointerest;
  579.     }
  580.     public static void main(String args[]) {
  581.  
  582.         try {
  583.             for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
  584.                 if ("Nimbus".equals(info.getName())) {
  585.                     javax.swing.UIManager.setLookAndFeel(info.getClassName());
  586.                     break;
  587.                 }
  588.             }
  589.         }
  590.         catch (ClassNotFoundException | InstantiationException | IllegalAccessException | javax.swing.UnsupportedLookAndFeelException ex) {
  591.             java.util.logging.Logger.getLogger(OSXCalcUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  592.         }
  593.         //</editor-fold>
  594.  
  595.         /* Create and display the form */
  596.         java.awt.EventQueue.invokeLater(new Runnable()
  597.         {
  598.             @Override
  599.             public void run()
  600.             {
  601.                
  602.                 OSXCalcUI osxcalc = new OSXCalcUI();
  603.                 osxcalc.setTitle("MyPF Financing Calculator");
  604.                 osxcalc.setVisible(true);
  605.             }
  606.         });
  607.     }
  608.     // Variables declaration - do not modify                    
  609.     private javax.swing.JTextField amountfinancedbox;
  610.     private javax.swing.JLabel amountfinancedlabel;
  611.     private javax.swing.JButton calculate_button;
  612.     private javax.swing.JButton clearall_button;
  613.     private javax.swing.JTextField costoftreatmentbox;
  614.     private javax.swing.JLabel costoftreatmentlabel;
  615.     private javax.swing.JTextField depositbox;
  616.     private javax.swing.JLabel depositlabel;
  617.     private java.awt.TextField eighteen_monthlypaybox;
  618.     private java.awt.TextField eighteen_totalrepaybox;
  619.     private java.awt.Label eighteenmonthslabel;
  620.     private java.awt.TextField foureight_monthlypaybox99;
  621.     private java.awt.TextField foureight_totalrepaybox99;
  622.     private java.awt.Label foureightmonthslabel99;
  623.     private java.awt.Label interestlabel99;
  624.     private javax.swing.JFrame jFrame1;
  625.     private javax.swing.JLabel jLabel1;
  626.     private java.awt.Label label1;
  627.     private java.awt.Label monthlypayment;
  628.     private java.awt.Label monthlypayment99;
  629.     private javax.swing.JLabel mypficon;
  630.     private java.awt.Label nointerestlabel;
  631.     private javax.swing.JButton showbothbutton;
  632.     private javax.swing.JButton showcolumns99interest;
  633.     private javax.swing.JButton showcolumsnointerest;
  634.     private java.awt.TextField six_monthlypaybox;
  635.     private java.awt.TextField six_totalrepaybox;
  636.     private java.awt.Label sixmonthslabel;
  637.     private java.awt.TextField sixty_monthlypaybox99;
  638.     private java.awt.TextField sixty_totalrepaybox99;
  639.     private java.awt.Label sixtymonthslabel99;
  640.     private java.awt.TextField ten_monthlypaybox;
  641.     private java.awt.TextField ten_totalrepaybox;
  642.     private java.awt.Label tenmonthslabel;
  643.     private java.awt.TextField textField8;
  644.     private java.awt.TextField threesix_monthlypaybox99;
  645.     private java.awt.TextField threesix_totalrepaybox99;
  646.     private java.awt.Label threesixmonthslabel99;
  647.     private java.awt.Label totalrepayment;
  648.     private java.awt.Label totalrepayment99;
  649.     private java.awt.TextField twelve_monthlypaybox;
  650.     private java.awt.TextField twelve_monthlypaybox99;
  651.     private java.awt.TextField twelve_totalrepaybox;
  652.     private java.awt.TextField twelve_totalrepaybox99;
  653.     private java.awt.Label twelvemonthslabel;
  654.     private java.awt.Label twelvemonthslabel99;
  655.     private java.awt.TextField twofour_monthlypaybox;
  656.     private java.awt.TextField twofour_monthlypaybox99;
  657.     private java.awt.TextField twofour_totalrepaybox;
  658.     private java.awt.TextField twofour_totalrepaybox99;
  659.     private java.awt.Label twofourmonthslabel;
  660.     private java.awt.Label twofourmonthslabel_99;
  661.     // End of variables declaration                  
  662. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement