import java.util.ResourceBundle; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; import javax.swing.*; public class EventHandle implements ActionListener { //Data manipulation variables private int which; private String mess, first = null; protected DataModel dataModel; protected String returned; //Data Model protected static BankApp frame; protected ResourceBundle messages=null; public EventHandle(BankApp frame, ResourceBundle messages) { this.frame = frame; this.messages = messages; this.dataModel = dataModel; frame.view.addActionListener(this); frame.add.addActionListener(this); frame.update.addActionListener(this); frame.OK.addActionListener(this); frame.cancel.addActionListener(this); dataModel = new DataModel(frame, messages); } public void actionPerformed(ActionEvent event) { Object source = event.getSource(); //View customer data if(source == frame.view) { frame.clearMessages(); String vbutton = messages.getString("ViewButton"); frame.messlab5.setText(" " + vbutton); mess = new String(messages.getString("EnterCustIDMess")); returned = JOptionPane.showInputDialog(frame, mess); if(returned != null) { which = 3; dataModel.createCustInf(which, returned); } } //Add new customer if(source == frame.add){ frame.clearMessages(); String abutton = messages.getString("AddButton"); frame.messlab5.setText(" " + abutton); which = 1; dataModel.createCustInf(which, returned); } //Update customer data if(source == frame.update){ frame.clearMessages(); String ubutton = messages.getString("UpdateButton"); frame.messlab5.setText(" " + ubutton); mess = new String(messages.getString("EnterCustIDMess")); returned = JOptionPane.showInputDialog(frame, mess); if(returned != null) { which = 2; dataModel.createCustInf(which, returned); } } //Process data if(source == frame.OK) { if(which == 3) { //view data frame.resetPanelTwo(); } else if((which == 1) || (which == 2)) { //add or update data //Test data and write to database int complete = dataModel.checkData(returned, which); //If data okay, clear Panel 2 if(complete == 0) { if(which == 1) { JOptionPane.showMessageDialog(frame, dataModel.custID, "Customer ID", JOptionPane.PLAIN_MESSAGE); } frame.resetPanelTwo(); } //If errors, redisplay data to user //and leave error messages on display if(complete == 1) { frame.createEditableFields(dataModel.first, dataModel.last, dataModel.mid, dataModel.str, dataModel.cty, dataModel.st, dataModel.zp, dataModel.tel, dataModel.mail); } } } //Clear data on cancel button press if(source == frame.cancel) { frame.resetPanelTwo(); } } }