Refund_Event_Class
    1| //NTC Java Programming 152-116
	    2| //Instructor: John Heckendorf
	    3| //Student: Jan Young & Keith Gallistel
	    4| //Lab ID: 
	    5| 
	    6| import javax.swing.*;
	    7| import java.awt.Color;
	    8| import java.awt.event.*;
	    9| import java.util.*;
	  10| 
	  11| public class Refund_Event_Class extends JFrame implements ActionListener
	  12| {
	  13|     final static long serialVersionUID = 5;
	  14| 
	  15|     Control_Class oC;
	  16| 
	  17|     //Instantiated Class
	  18|     public Refund_Event_Class(Control_Class oControl)
	  19|     {
	  20|         oC = oControl;
	  21|     }
	  22| 
	  23|     //Method that will process GUI events
	  24|     public void actionPerformed(ActionEvent e)
	  25|     {
	  26|     Refund_Event(oC.jbtnChangeBin, oC.oMoney);
	  27|     }
	  28| 
	  29|     //method that calculates refund
	  30|     public void Refund_Event(JButton jbtnChangeBin, Money_Class oMoney)
	  31|     {
	  32|         String sCBin;
	  33|         double dCBin;
	  34|         double dCurrent;
	  35|         String sCurrent;
	  36|         double dNewCurrent;
	  37|         String sNewCurrent;
	  38| 
	
	  39|         boolean bChangeBinNoOdd = false;
	  40| 
	
	  41|         Formatter oF = new Formatter();
	  42| 
	
	  43|         sCBin = jbtnChangeBin.getText();
	  44|         dCurrent = oMoney.Get_Current();
	  45|         oF.format("%,.2f", dCurrent);
	  46|         sCurrent = oF.toString();
	  47| 
	
	  48|         bChangeBinNoOdd = Change_No_Odd(jbtnChangeBin);
	  49| 
	
	  50|         if(bChangeBinNoOdd)
	  51|         {
	  52|             try
	  53|             {
	  54|                 if(dCurrent != 0)
	  55|                 {
	  56|                     if(sCBin == "Change")
	  57|                     {
	  58|                         oC.jbtnChangeBin.setText(sCurrent);
	  59|                         oMoney.Reset_Current();
	  60|                         oC.jtxtMoneyDisplay.setText(null);
	
	  61|                         }
	  62| 	                    if(sCBin != "Change")
	  63|                     {
	  64| 	                        Formatter oH = new Formatter();
	  65|                         dCBin = Double.parseDouble(jbtnChangeBin.getText());
	  66|                         dNewCurrent = dCurrent + dCBin;
	  67| 	                        oH.format("%,.2f", dNewCurrent);
	  68|                         sNewCurrent = oH.toString();
	  69| 	                        oC.jbtnChangeBin.setText(sNewCurrent);
	  70| 	                        oMoney.Reset_Current();
	  71|                         oC.jtxtMoneyDisplay.setText(null);
	  72|                     }
	  73|                 }
	  74|             }
	  75|             catch(NumberFormatException e)
	  76|             {
	  78|                 jbtnChangeBin.setBackground(Color.RED);
	
	  79|             }
	  80|         }
	
	  81| 
	  82|     }
	  83| 
	  84|     //Checks if change bin contains garbage
	  85|     private boolean Change_No_Odd(JButton jbtnChangeBin)
	  86|     {
	  87|         boolean bVM = false;
	  88|         double dData = 0;
	  89| 
	
	  90|         if(jbtnChangeBin.getText() != "Change")
	  91|         {
	  92|             try
	  93|             {
	  94|                 dData = Double.parseDouble(jbtnChangeBin.getText());
	  95|                 bVM = true;
	  96|             }
	  97|             catch(NumberFormatException e)
	  98|             {
	  99|                 bVM = false;
	  100|                 jbtnChangeBin.setBackground(Color.RED);
	  101|             }
	  102|         }
	  103|         else
	  104|         {
	  105|             bVM = true;
	  106|         }
	  107|         return bVM;
	  108|     }
	  109| }