i have this program that was written with netbeans but i need it to be converted fully to textpad gui. i need it before friday preferably tonight... ill reward the person that helps me with $50. i put that on my honor.. pls i am desperate thanks. here is the code:
Code:package atm.gui; import java.awt.BorderLayout; import java.awt.Color; import java.awt.GridLayout; import java.util.concurrent.TimeUnit; import javax.swing.BorderFactory; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.SwingUtilities; import atm.gui.BalanceInquiry; import atm.gui.Transaction; import atm.gui.input.CardSlot; import atm.gui.input.CashDispenser; import atm.gui.input.ChangePIN; import atm.gui.input.DepositSlot; import atm.gui.input.Keypad; import atm.gui.observer.ExitObserver; import atm.gui.observer.Observable; import atm.gui.observer.Observer; import atm.gui.screen.Screen; import atm.gui.welcome.WelcomePanel; public class ATMWindow extends JFrame { private static final int WITHDRAW = 10; private static final int BALANCE_INQUIRY = 11; private static final int CHANGE_PIN = 12; //13 14 private static final int TRANSFER = 15; //16 private static final int EXIT = 17; /** * welcomePanel */ private WelcomePanel welcomePanel = new WelcomePanel(this); /** screen **/ private Screen screen = new Screen(); /** keypad **/ private Keypad keypad = new Keypad(); /** cardSlot **/ private CardSlot cardSlot = new CardSlot(); /** cashDispenser **/ private CashDispenser cashDispenser = new CashDispenser(); /** depositSlot **/ private DepositSlot depositSlot = new DepositSlot(); /** Database **/ private BankDatabase bankDatabase = new BankDatabase(); /** whether user is authenticated **/ private boolean userAuthenticated; /** current user's account number **/ private int currentAccountNumber; /** constructor **/ public ATMWindow() { super("ATM"); userAuthenticated = false; currentAccountNumber = 0; initComponents(); } private void initComponents() { /** * add components to the frame */ JPanel vPanel = new JPanel(new GridLayout(0, 1)); vPanel.add(cardSlot); //cardSlot cardSlot.addObserver(new CardSlotListener()); vPanel.add(cashDispenser); //cashDispenser vPanel.add(depositSlot); //depositSlot vPanel.setBorder(BorderFactory.createEmptyBorder(0, 20, 0, 20)); JPanel ioPanel = new JPanel(); ioPanel.add(keypad.getNumberKeypad()); //keypad - number keypad ioPanel.add(keypad.getOperationKeypad()); //keypad - operation keypad ioPanel.add(vPanel); ioPanel.setBackground(new Color(51, 153, 204)); add(welcomePanel, BorderLayout.NORTH); //welcome add(keypad.getLeftKeypad(), BorderLayout.WEST); //keypad - left side add(keypad.getRightKeypad(), BorderLayout.EAST); //keypad - right side add(screen, BorderLayout.CENTER); //screen add(ioPanel, BorderLayout.SOUTH); /** * pack() */ setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); pack(); } public void run() { authenticateUser(); new Thread() { @Override public void run() { while (!userAuthenticated) { System.out.println("."); try { TimeUnit.SECONDS.sleep(1); } catch (InterruptedException e) { e.printStackTrace(); } } performTransactions(); } }.start(); } private void authenticateUser() { screen.show(Screen.LOGIN_MENU); keypad.addObserver(new Observer() { private static final int ACCOUNT_FIELD_SELECTED = 0; private static final int PIN_FIELD_SELECTED = 1; private int accountNumber = 12345; private int pin = 54321; private int flag = ACCOUNT_FIELD_SELECTED; @Override public void update(Observable observable) { int keyCode = getKeypad().getPressedKeyCode(); switch (keyCode) { case Keypad.ENTER: case Keypad.RIGHT_KEY3: System.out.println("Account number: " + accountNumber); System.out.println("PIN: " + pin); userAuthenticated = bankDatabase.authenticateUser(accountNumber, pin); if ( userAuthenticated ) { currentAccountNumber = accountNumber; userAuthenticated = true; } else System.out.println("Invalid account number or PIN. Please try again."); break; case Keypad.CLEAR: if (flag == ACCOUNT_FIELD_SELECTED) { accountNumber = 0; screen.getLoginScreen().showMessage1(String.valueOf(accountNumber)); } else { pin = 0; screen.getLoginScreen().showMessage2(String.valueOf(pin)); } break; case Keypad.RIGHT_KEY1: flag = ACCOUNT_FIELD_SELECTED; break; case Keypad.RIGHT_KEY2: flag = PIN_FIELD_SELECTED; break; default: if (0 <= keyCode && keyCode <= 9) { if (flag == ACCOUNT_FIELD_SELECTED) { accountNumber = accountNumber * 10 + keyCode; screen.getLoginScreen().showMessage1(String.valueOf(accountNumber)); } else { pin = pin * 10 + keyCode; screen.getLoginScreen().showMessage2(String.valueOf(pin)); } } break; } System.out.println(String.valueOf("authen key: " + keyCode)); } }); } private void performTransactions() { screen.show(Screen.MAIN_MENU); keypad.addObserver(new Observer() { @Override public void update(Observable observable) { int keyCode = keypad.getPressedKeyCode(); switch (keyCode) { case WITHDRAW: case BALANCE_INQUIRY: case CHANGE_PIN: case TRANSFER: Transaction transaction = createTransaction(keyCode); if (transaction != null) { transaction.execute(); transaction.addObserver(new ExitObserver() { @Override public void update(Observable observable) { performTransactions(); } }); } break; case EXIT: System.out.println("exit.."); userAuthenticated = false; run(); default: break; } } }); } private Transaction createTransaction( int type ) { Transaction transaction = null; // determine which type of Transaction to create switch (type) { case WITHDRAW: //Keypad.LEFT_KEY1: transaction = new Withdrawal(currentAccountNumber, screen, bankDatabase, keypad, cashDispenser); break; case BALANCE_INQUIRY: //Keypad.LEFT_KEY2: transaction = new BalanceInquiry(currentAccountNumber, screen, bankDatabase, keypad); break; case CHANGE_PIN: //Keypad.LEFT_KEY3: transaction = new ChangePIN(currentAccountNumber, screen, bankDatabase, keypad); break; case TRANSFER: //Keypad.RIGHT_KEY2: transaction = new Transfer(currentAccountNumber, screen, bankDatabase, keypad); break; } return transaction; } public WelcomePanel getWelcomePanel() { return welcomePanel; } public Screen getScreen() { return screen; } public Keypad getKeypad() { return keypad; } public CashDispenser getCashDispenser() { return cashDispenser; } public DepositSlot getDepositSlot() { return depositSlot; } public BankDatabase getDatabase() { return bankDatabase; } public boolean getUserAuthenticated() { return userAuthenticated; } public int getCurrentAccountNumber() { return currentAccountNumber; } public void setUserAuthenticated(Boolean authenticated) { userAuthenticated = authenticated; } public void setCurrentAccountNumber(int accountNumber) { currentAccountNumber = accountNumber; } public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { public void run() { ATMWindow atm = new ATMWindow(); atm.setVisible(true); atm.run(); } }); } class CardSlotListener implements Observer { @Override public void update(Observable observable) { CardSlot cardSlot = (CardSlot) observable; System.out.println(cardSlot.isInserted()); } } }


Reply With Quote

Bookmarks