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

📄 bamclient.java

📁 一个ATM银行模拟系统
💻 JAVA
字号:
package bamclient;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

import exception.*;
import model.*;
import business.Bank;
public class BAMClient {
	JFrame frame;
	MainPanel mp=new MainPanel();
	RegisterPanel rp=new RegisterPanel();
	LoginPanel lp=new LoginPanel();
	BusinessPanel bp=new BusinessPanel();
	CardLayout layout=new CardLayout();
	
	Account account;
	
	public BAMClient(){
		frame=new JFrame("BAM Client");
		frame.setSize(350,300);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setLayout(layout);
		frame.add("main",mp);
		frame.add("register",rp);
		frame.add("login",lp);
		frame.add("business",bp);
		frame.setVisible(true);
		addListeners();
	}
	private void addListeners(){
		//在主界面上点击开户,CardLayout翻到RegisterPanel
		mp.getRegisterButton().addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e){
				layout.show(frame.getContentPane(),"register");
			}
		});
		//在主界面上点击开户,CardLayout翻到LoginPanel
		mp.getLoginButton().addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e){
				layout.show(frame.getContentPane(),"login");
			}			
		});
		//在开户界面上点击提交按钮
		rp.getOkButton().addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e){
				register();
			}
		});
		//在登录界面上点击提交按钮
		lp.getOkButton().addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e){
				login();
			}
		});		
		//在交易界面上点击提交按钮
		bp.getOkButton().addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e){
				business();
			}
		});			
		
	}
	//开户,注意设置account属性
	private void register(){
		//收集数据
		int type=rp.getTypeBox().getSelectedIndex();
		String pass1=new String(rp.getPassField1().getPassword());
		String pass2=new String(rp.getPassField2().getPassword());
		String name=rp.getNameField().getText();
		String personId=rp.getPersonIdField().getText();
		String email=rp.getEmailField().getText();
		//获得Bank对象并开户
		Bank bank=Bank.newInstance();
		try {
			account=bank.register(pass1,pass2,name,personId,email,type);
			bp.initComponent(account);
			bp.setText(account);
			layout.show(frame.getContentPane(),"business");
		} catch (RegisterException e) {
			//处理异常 在frame上弹出一个消息对话框 
			JOptionPane.showMessageDialog(frame,e.getMessage());
		}
		
	}
	//登录,注意设置account属性
	private void login(){
		String idString=lp.getIdField().getText();
		String password=new String(lp.getPassField().getPassword());
		Bank bank=Bank.newInstance();
		try {
			account=bank.login(Long.parseLong(idString),password);
			bp.initComponent(account);
			bp.setText(account);
			layout.show(frame.getContentPane(),"business");			
		} catch (LoginException e) {
			JOptionPane.showMessageDialog(frame,e.getMessage());
		}
		
	}
	//交易
	private void business(){
		String choice=(String)bp.getChoiceBox().getSelectedItem();
		String moneyString=bp.getInputField().getText();
		double money=Double.parseDouble(moneyString);
		long id=account.getId();
		
		Bank bank=Bank.newInstance();
		try {
			if (choice.equals("存款")) 
				account=bank.deposit(id,money);
			else if (choice.equals("取款"))
				account=bank.withdraw(id,money);
			else if (choice.equals("设置透支额度"))
				account=bank.setCeiling(id,money);
			else if (choice.equals("申请贷款"))
				account=bank.requestLoan(id,money);
			else account=bank.payLoan(id,money);
			
			bp.getInputField().setText("");
			bp.setText(account);
			
		} catch (BusinessException e) {
			JOptionPane.showMessageDialog(frame,e.getMessage());
		} 
		
			
	}
	
	
	public static void main(String[] args){
		new BAMClient();
	}
	
}

⌨️ 快捷键说明

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