Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 8

// bank

import javax.swing.JFrame;
import javax.swing.JMenuBar;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.JTextArea;
import java.awt.event.KeyEvent;
import javax.swing.JDesktopPane;
import javax.swing.JInternalFrame;
import java.awt.Color;
import java.awt.Toolkit;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
import java.awt.FlowLayout;

class BankSimulator implements ActionListener


{
JFrame frame;
JMenuBar menubar;
JMenu mAccount,mTransaction;
JMenuItem miNew,miClose,miExit,miDeposit,miWithdraw;
JDesktopPane desktopPane;
JInternalFrame newAccount,closeAccount,depositAccount,withdrawAccount;
Toolkit toolKit;
Dimension dimension;
JButton create=null;

BankSimulator()
{
frame = new JFrame();
menubar = new JMenuBar();
frame.add(menubar);

mAccount = new JMenu("Account");


mAccount.setMnemonic(KeyEvent.VK_A);
mTransaction = new JMenu("Transaction");
mTransaction.setMnemonic(KeyEvent.VK_T);

miNew = new JMenuItem("New Account");


miNew.setMnemonic(KeyEvent.VK_N);
miClose = new JMenuItem("Close Account");
miClose.setMnemonic(KeyEvent.VK_O);
miExit = new JMenuItem("Exit");
miExit.setMnemonic(KeyEvent.VK_F4);
miDeposit = new JMenuItem("Deposit");
miWithdraw = new JMenuItem("WithDraw");

mAccount.add(miNew);
mAccount.add(miClose);
mAccount.add(miExit);
mTransaction.add(miDeposit);
mTransaction.add(miWithdraw);

menubar.add(mAccount);
menubar.add(mTransaction);
frame.setJMenuBar(menubar);

desktopPane = new JDesktopPane(); // create


DESKTOP PANE
desktopPane.setBackground(Color.RED);

toolKit = Toolkit.getDefaultToolkit(); // Toolkit is a abstract class in awt


dimension = toolKit.getScreenSize();

frame.add(desktopPane);
frame.setVisible(true);
frame.setBounds(0,0,800,600);

// ---------------------- Add Action Listner-----------------------------

miNew.addActionListener(this);
miClose.addActionListener(this);
miExit.addActionListener(this);
miDeposit.addActionListener(this);
miWithdraw.addActionListener(this);

//--------------------------------------------------------------------------

public void actionPerformed(ActionEvent ae)


{
JMenuItem jmi = null;

// String className = ae.getSource().getClass().toString();

jmi = (JMenuItem)ae.getSource();

if(jmi == miNew)
{
newAccount = new JInternalFrame("New
Account",false,true,false,true); // create JINTERNAL FRAME
newAccount.setBounds(200,200,320,200);
// newAccount.setBounds(30,30,dimension.width - 300,
dimension.height - 300);
newAccount.setLayout(new FlowLayout());

JLabel lbAccNo = new JLabel("Account No");


JLabel lbName = new JLabel("Name");
JLabel lbAmount = new JLabel("Amount");

JTextField tfAccNo = new JTextField();


tfAccNo.setEditable(false);
tfAccNo.setColumns(20);
JTextField tfName = new JTextField();
tfName.setColumns(20);
JTextField tfAmmount = new JTextField();
tfAmmount.setColumns(20);

create = new JButton("Create");


JButton cancel = new JButton("Cancel");
JButton close = new JButton("Close");

newAccount.add(lbAccNo);
newAccount.add(tfAccNo);
newAccount.add(lbName);
newAccount.add(tfName);
newAccount.add(lbAmount);
newAccount.add(tfAmmount);
newAccount.add(create);
newAccount.add(cancel);
newAccount.add(close);
// ----------------------- Adding Listner to Internal Frame
components------------
create.addActionListener(new InternalActionListener());
close.addActionListener(new InternalActionListener());
cancel.addActionListener(new InternalActionListener());
//- --------------------------------------------------------------------------------
desktopPane.add(newAccount);
newAccount.setVisible(true);
}

if(jmi == miClose)
{
closeAccount = new JInternalFrame("Close
Accout",false,true,false,true);
closeAccount.setBounds(200,200,320,200);
closeAccount.setLayout(new FlowLayout());

JLabel lbAccNo = new JLabel("Account No");


JLabel lbName = new JLabel("Name");
JLabel lbAmt = new JLabel("Amount");

JTextField close_tfAccNo = new JTextField();


close_tfAccNo.setColumns(20);
JTextField close_tfName = new JTextField();
close_tfName.setEditable(false);
close_tfName.setColumns(20);
JTextField close_tfAmt = new JTextField();
close_tfAmt.setEditable(false);
close_tfAmt.setColumns(20);

JButton close_button_yes = new JButton("YES");


JButton close_button_no = new JButton("NO");
JButton close_button_close = new JButton("CLOSE");

closeAccount.add(lbAccNo);
closeAccount.add(close_tfAccNo);
closeAccount.add(lbName);
closeAccount.add(close_tfName);
closeAccount.add(lbAmt);
closeAccount.add(close_tfAmt);
closeAccount.add(close_button_yes);
closeAccount.add(close_button_no);
closeAccount.add(close_button_close);
// ----------------------- Adding Listner to Internal Frame
components------------
close_button_yes.addActionListener(new
InternalActionListener());
close_button_no.addActionListener(new InternalActionListener());
close_button_close.addActionListener(new
InternalActionListener());
//- --------------------------------------------------------------------------------

desktopPane.add(closeAccount);
closeAccount.setVisible(true);

if(jmi == miDeposit)
{
depositAccount = new
JInternalFrame("Deposit",false,true,false,true);
depositAccount.setBounds(200,200,320,200);
depositAccount.setLayout(new FlowLayout());

JLabel lbAccNo = new JLabel("Account No");


JLabel lbName = new JLabel("Name");
JLabel lbBal = new JLabel("Balance");
JLabel lbAmt = new JLabel("Amount");

JTextField deposit_tfAccNo = new JTextField();


deposit_tfAccNo.setColumns(20);
JTextField deposit_tfName = new JTextField();
deposit_tfName.setColumns(20);
deposit_tfName.setEditable(false);
JTextField deposit_tfBal = new JTextField();
deposit_tfBal.setColumns(20);
deposit_tfBal.setEditable(false);
JTextField deposit_tfAmt = new JTextField();
deposit_tfAmt.setColumns(20);

JButton deposit_button_update = new JButton("Update");


JButton deposit_button_cancel = new JButton("Cancel");
JButton deposit_button_close = new JButton("Close");

depositAccount.add(lbAccNo);
depositAccount.add(deposit_tfAccNo);
depositAccount.add(lbName);
depositAccount.add(deposit_tfName);
depositAccount.add(lbBal);
depositAccount.add(deposit_tfBal);
depositAccount.add(lbAmt);
depositAccount.add(deposit_tfAmt);
depositAccount.add(deposit_button_update);
depositAccount.add(deposit_button_cancel);
depositAccount.add(deposit_button_close);

// ----------------------- Adding Listner to Internal Frame


components------------
deposit_button_update.addActionListener(new
InternalActionListener());
deposit_button_cancel.addActionListener(new
InternalActionListener());
deposit_button_close.addActionListener(new
InternalActionListener());
//- --------------------------------------------------------------------------------

desktopPane.add(depositAccount);
depositAccount.setVisible(true);

if(jmi == miWithdraw)
{
withdrawAccount = new
JInternalFrame("Withdraw",false,true,false,true);
withdrawAccount.setBounds(200,200,320,200);
withdrawAccount.setLayout(new FlowLayout());

JLabel lbAccNo = new JLabel("Account No");


JLabel lbName = new JLabel("Name");
JLabel lbBal = new JLabel("Balance");
JLabel lbAmt = new JLabel("Amount");

JTextField withdraw_tfAccNo = new JTextField();


withdraw_tfAccNo.setColumns(20);
JTextField withdraw_tfName = new JTextField();
withdraw_tfName.setColumns(20);
withdraw_tfName.setEditable(false);
JTextField withdraw_tfBal = new JTextField();
withdraw_tfBal.setColumns(20);
withdraw_tfBal.setEditable(false);
JTextField withdraw_tfAmt = new JTextField();
withdraw_tfAmt.setColumns(20);

JButton withdraw_button_update = new JButton("Update");


JButton withdraw_button_cancel = new JButton("Cancel");
JButton withdraw_button_close = new JButton("Close");

withdrawAccount.add(lbAccNo);
withdrawAccount.add(withdraw_tfAccNo);
withdrawAccount.add(lbName);
withdrawAccount.add(withdraw_tfName);
withdrawAccount.add(lbBal);
withdrawAccount.add(withdraw_tfBal);
withdrawAccount.add(lbAmt);
withdrawAccount.add(withdraw_tfAmt);
withdrawAccount.add(withdraw_button_update);
withdrawAccount.add(withdraw_button_cancel);
withdrawAccount.add(withdraw_button_close);

desktopPane.add(withdrawAccount);
withdrawAccount.setVisible(true);
}

}
public static void main(String[] args)
{
new BankSimulator();
}
}

class InternalActionListener implements ActionListener


{
public void actionPerformed(ActionEvent e)
{

JButton button = (JButton)e.getSource();


// System.out.println (e);

if(button.getText().equals("Create"))
{
System.out.println ("I m in create");
}

if(button.getText().equals("Cancel"))
{
System.out.println("I m in Cancle");
}

if(button.getText().equals("Close"))
{
System.out.println("I m in Close");
}

}
}

You might also like