⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bankatm.java

📁 该系统能够根据银行用户的要求
💻 JAVA
字号:
/* * 本类实现不同ATM处访问同一个账户的情况 */package guiPackage;import static userPackage.ManageUser.findUser;import java.awt.BorderLayout;import java.awt.Container;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JTextField;public class BankATM implements ActionListener{		private JFrame frame;	private Container contentPane;	private JButton okBtn,viewBtn,certainBtn,saveBtn,getBtn,exitBtn;		private JTextField inputField;	private JLabel message;	private double value=0.0;	private String name;	private String password;		public BankATM(int i,String subName,String subPassword)	{		this.name=subName;		this.password=subPassword;		frame=new JFrame(i+" 号ATM取款机");		frame.setBounds(80+(i-1)*310,400,300,300);		frame.setResizable(false);		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);		contentPane=frame.getContentPane();		initGUI();	}		public void initGUI()	{		contentPane.setLayout(new BorderLayout());		saveBtn=new JButton("存款");		okBtn=new JButton("确定");		okBtn.setVisible(false);		viewBtn=new JButton("查看");		getBtn=new JButton("取款");		certainBtn=new JButton("确定");		exitBtn=new JButton("退出");		certainBtn.setVisible(false);		JPanel p1=new JPanel();		JPanel p2=new JPanel(new GridLayout(2,3,5,5));		inputField=new JTextField("",10);		inputField.setVisible(false);		message=new JLabel("欢迎您使用ATM自动取款机!");		System.out.println(name);		System.out.println(password);				p1.add(message);		p1.add(inputField);		p2.add(saveBtn);		p2.add(okBtn);		p2.add(viewBtn);		p2.add(getBtn);		p2.add(certainBtn);		p2.add(exitBtn);				contentPane.add(p1,BorderLayout.CENTER);		contentPane.add(p2,BorderLayout.SOUTH);					okBtn.addActionListener(this);		viewBtn.addActionListener(this);		certainBtn.addActionListener(this);		saveBtn.addActionListener(this);		getBtn.addActionListener(this);		exitBtn.addActionListener(this);	}		public void actionPerformed(ActionEvent e)		{			if(e.getSource()==okBtn)			{				String s=inputField.getText().trim();				if(s.length()!=0)				{					double amount=Double.parseDouble(s);					if(findUser(this.name,this.password).getAccount().deposit(amount))					new putMoney(amount);				}				else				message.setText("请正确输入!");				inputField.grabFocus();			}						if(e.getSource()==viewBtn)			{				new viewMoney();				inputField.setEnabled(false);				inputField.setVisible(false);				certainBtn.setVisible(false);				okBtn.setVisible(false);				saveBtn.setVisible(true);				getBtn.setVisible(true);			}						if(e.getSource()==certainBtn)			{				String s=inputField.getText().trim();				if(s.length()!=0)				{					double amount=Double.parseDouble(s);					//System.out.println("name:"+name+"password:"+password);					new getMoney(amount);					//if(findUser(name, password).getAccount().withdraw(amount))					//new getMoney(amount);				}				else				message.setText("请正确输入!");				inputField.grabFocus();				}						if(e.getSource()==saveBtn)			{				saveBtn.setVisible(true);				getBtn.setVisible(false);				certainBtn.setVisible(false);				okBtn.setVisible(true);				message.setText("请输入存款金额:");				inputField.setEnabled(true);				inputField.setVisible(true);				inputField.setText("");			   inputField.grabFocus();			}							if(e.getSource()==getBtn)			{				certainBtn.setVisible(true);				okBtn.setVisible(false);				saveBtn.setVisible(true);				message.setText("请输入取款金额:");			   inputField.setEnabled(true);				inputField.setVisible(true);				inputField.setText("");				inputField.grabFocus();			}					   if(e.getSource()==exitBtn)			{			   frame.hide();			}	}			synchronized public void put(double k)	{	    if(k%10==0)		{	    	double value = (findUser(this.name,this.password).getAccount().getBalance());	    	//value=value+k;			message.setText("ATM机存款"+k+"元,现在您的余额:"+value);			inputField.setVisible(false);			okBtn.setVisible(false);			getBtn.setVisible(true);		}		else			message.setText("ATM机最低面值为50元!请正确输入!");	}		synchronized public void get(double k)	{				value=findUser(name, password).getAccount().getBalance();		if(value-k<0){			message.setText("对不起!你的账户余额不足!");			inputField.setVisible(false);			certainBtn.setVisible(false);		}else if(value>=k&&k>=50&&k%10==0)		{			findUser(name, password).getAccount().withdraw(k);			//double value = (findUser(name, password).getAccount().getBalance());			//value=value-k;			value=findUser(name, password).getAccount().getBalance();			message.setText("ATM机取款"+k+"元,现在您的余额:"+value);			inputField.setVisible(false);			certainBtn.setVisible(false);			saveBtn.setVisible(true);		}		else			message.setText("ATM机最低面值为50元!请正确输入!");	}		public void view()	{		double value = (findUser(name, password).getAccount().getBalance());		message.setText("您帐户的余额:"+value);	}			class putMoney implements Runnable	{		private double value;		public  putMoney(double value)		{			this.value=value;			(new Thread(this)).start();		}		public void run()		{			put(value);		}	}		class getMoney extends Thread	{		private double  value;				public  getMoney(double value)		{			this.value=value;			(new Thread(this)).start();		}				public void run()		{			get(value);		}	}		class viewMoney extends Thread	{		public  viewMoney()		{			(new Thread(this)).start();		}		public void run()		{			view();		}	}	public void go()	{		frame.setVisible(true);	}		/*public static void main(String args[])	{		(new bank(1)).go();		(new bank(2)).go();		(new bank(3)).go();	}*/}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -