亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? recordviewer.java

?? 本程序用Java語言描述了一個基本的銀行管理系統(tǒng)
?? JAVA
字號:
package banking.applet;

import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.File;
import java.io.IOException;
import java.io.RandomAccessFile;

import javax.swing.DefaultListModel;
import javax.swing.JApplet;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.ListSelectionModel;
import javax.swing.SwingConstants;
import javax.swing.border.BevelBorder;
import javax.swing.border.TitledBorder;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;

import banking.domain.Bank;
import banking.domain.CheckingAccount;
import banking.domain.Customer;
import banking.domain.SavingsAccount;
import banking.io.CustomerIO;

public class RecordViewer extends JApplet {

	/**
	 * 
	 */
	private static final long serialVersionUID = -6406344980078887952L;

	public static final String localHost = "";
	
	public static final String fileName = "bankRecords.dat";

	private JList jltCustomer;

	private JList jltAccount;

	private DefaultListModel dlmCustomer;

	private DefaultListModel dlmAccount;

	private JPanel jpAccount = new JPanel();

	private JLabel jlbFirstName = new JLabel();

	private JLabel jlbLastName = new JLabel();

	private JLabel jlbAccType = new JLabel();

	private JLabel jlbAccBalance = new JLabel();

	private JLabel jlbAccAddition = new JLabel();

	private Bank bank;

	private RandomAccessFile raf;

	public void init() {
		File file = new File(localHost+RecordViewer.fileName);
		if (!file.exists()) {
			try {
				file.createNewFile();
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
		
		this.setLayout(new GridLayout(2, 2));//

		this.bank = Bank.getBank();

		this.jltCustomer = new JList();
		this.dlmCustomer = new DefaultListModel();
		this.jltCustomer.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
		this.jltCustomer.setModel(this.dlmCustomer);

		this.jltAccount = new JList();
		this.dlmAccount = new DefaultListModel();
		this.jltAccount.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
		this.jltAccount.setModel(this.dlmAccount);

		JPanel jpButtons = new JPanel();
		jpButtons.setLayout(new GridLayout(1, 6));
		jpButtons.setBorder(new BevelBorder(BevelBorder.RAISED));

		JButton jbtAdd = new JButton("Add");
		JButton jbtDel = new JButton("Del");
		JButton jbtUpdates = new JButton("Updates");
		JButton jbtSearch = new JButton("Search");
		JButton jbtSort = new JButton("Sort");
		JButton jbtExit = new JButton("Exit");

		jpButtons.add(jbtAdd);
		jpButtons.add(jbtDel);
		jpButtons.add(jbtUpdates);
		jpButtons.add(jbtSearch);
		jpButtons.add(jbtSort);
		jpButtons.add(jbtExit);

		jbtAdd.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				addRecord();
			}
		});
		jbtDel.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				delRecord();
			}
		});
		jbtUpdates.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				saveAll();
			}
		});
		jbtSearch.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				search();
			}
		});
		jbtSort.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				bank.sortCustomers();
				updateCustomerList();
			}
		});
		jbtExit.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e) {				
				try{
					writeBank();
					System.exit(0);
				}catch(Exception ex){
					ex.printStackTrace();//
				}
			}
		});
		this.jltCustomer.addListSelectionListener(new ListSelectionListener() {
			public void valueChanged(ListSelectionEvent e) {
				int index = jltCustomer.getSelectedIndex();
				setAccLabels(bank.getCustomer(index));
			}
		});
		this.jltAccount.addListSelectionListener(new ListSelectionListener() {
			public void valueChanged(ListSelectionEvent e) {
				showAccInfo();
			}
		});
		
		JPanel jpNameMessage = new JPanel();
		jpNameMessage.setLayout(new GridLayout(2, 1));
		jpNameMessage.add(this.jlbFirstName);
		jpNameMessage.add(this.jlbLastName);

		JPanel jpAccMessage = new JPanel(new GridLayout(3, 1));
		jpAccMessage.setBorder(new TitledBorder("Account Information"));
		jpAccMessage.add(this.jlbAccType);
		jpAccMessage.add(this.jlbAccBalance);
		jpAccMessage.add(this.jlbAccAddition);

		JScrollPane jscpAccount = new JScrollPane(this.jltAccount);
		jscpAccount.setBorder(new TitledBorder("Account List"));

		this.jpAccount.setBorder(new TitledBorder("Customer Detail"));
		this.jpAccount.setLayout(new GridLayout(3, 1));
		this.jpAccount.add(jpNameMessage);
		this.jpAccount.add(jscpAccount);
		this.jpAccount.add(jpAccMessage);		

		this.setAccLabels(null);

		this.setLayout(new BorderLayout());
		this.add(jpButtons, BorderLayout.SOUTH);

		JScrollPane customerPane = new JScrollPane(this.jltCustomer);
		customerPane.setBorder(new TitledBorder("Customer List"));
		this.add(customerPane, BorderLayout.CENTER);
		this.add(this.jpAccount, BorderLayout.EAST);

		this.setSize(500, 500);//
	}

	public void start() { // load the file
		try {
			readBank();
			this.updateCustomerList();
		} catch (Exception e) {
			e.printStackTrace();//
			JOptionPane.showMessageDialog(null, "readBank error");
		}
	}

	public void destroy() { // save when destroy
		try {
			writeBank();
		} catch (Exception e) {
			e.printStackTrace();//
			JOptionPane.showMessageDialog(null, "may not save successfully");
		}
	}

	public void readBank() throws IOException { // file ---> bank
		raf = new RandomAccessFile(localHost+RecordViewer.fileName, "rw");
		if (0 != raf.length()) {
			int loop = raf.readInt();
			for (int i = 0; i < loop; ++i) {
				this.bank.addCustomer(CustomerIO.readCustomer(raf));
			}
		}
		raf.close();
		raf = null;
	}

	public void writeBank() throws IOException { // bank ---> file
		raf = new RandomAccessFile(localHost+RecordViewer.fileName, "rw");
		raf.setLength(0);
		raf.writeInt(this.bank.getNumOfCustomers());
		for (int i = 0; i < this.bank.getNumOfCustomers(); ++i)
			CustomerIO.writeCustomer(this.bank.getCustomer(i), raf);
		raf.close();
		raf = null;
	}

	public void addRecord() {
		NewCustomerFrame frame = new NewCustomerFrame();
		frame.setTitle("New Customer");
		frame.setSize(500, 500);
		frame.setLocationRelativeTo(null);
		frame.setVisible(true);
		frame.addWindowListener(new WindowAdapter(){
			public void windowClosing(WindowEvent e){
				updateCustomerList();
			}
			public void windowClosed(WindowEvent e){
				updateCustomerList();
			}
		});
	}

	public void delRecord() {
		int index = this.jltCustomer.getSelectedIndex();
		if (-1 != index) {
			this.bank.kickCustomer(index);
		}
		this.dlmAccount.clear();
		this.updateCustomerList();
	}

	public void search() {
		try {
			String f = JOptionPane.showInputDialog("firstName: ");
			String l = JOptionPane.showInputDialog("lastName: ");
			int index = this.bank.searchCustomers(f, l);
			if (-1!=index)
				this.jltCustomer.setSelectedIndex(index);
			else
				JOptionPane.showMessageDialog(null, "no such a customer");
		} catch (Exception e) {
			e.printStackTrace();//
		}
	}

	public void saveAll() {
		try {
			this.writeBank();
			JOptionPane.showMessageDialog(null, "save successfully");
			this.updateCustomerList();
		} catch (Exception e) {
			e.printStackTrace();//
			JOptionPane.showMessageDialog(null, "may not save successfully");
		}
	}

	public void updateCustomerList() {
		this.dlmCustomer.clear();
		this.dlmAccount.clear();
		for (int i = 0; i < this.bank.getNumOfCustomers(); ++i) {
			String f = this.bank.getCustomer(i).getFirstName();
			String l = this.bank.getCustomer(i).getLastName();
			f = fuckSpace(f);
			l = fuckSpace(l);
			this.bank.getCustomer(i).setFirstName(f);
			this.bank.getCustomer(i).setLastName(l);
			this.dlmCustomer.addElement(f+" "+l);
		}
	}

	public void setAccLabels(Customer c) {
		this.jlbAccType.setText("Account Type:");
		this.jlbAccBalance.setText("Balance:");
		this.jlbAccAddition.setText("Additional Infomation:");
		if (null == c) {
			this.jlbFirstName.setText("First Name: ");
			this.jlbLastName.setText(("Last Name: "));
		} else {
			this.jlbFirstName.setText("First Name: " + c.getFirstName());
			this.jlbLastName.setText(("Last Name: ") + c.getLastName());
			updatesAccList(c);
		}
	}

	public void showAccInfo() {
		Customer c = this.bank.getCustomer(this.jltCustomer.getSelectedIndex());
		int index = this.jltAccount.getSelectedIndex();
		if (-1!=index){
			String accType = null;
			String addition = null;
			if (c.getAccount(index) instanceof SavingsAccount) {
				accType = "Savings Account";
				addition = "Interest Rate: "+new StringBuffer().append(
						(((SavingsAccount) c.getAccount(index)).getInterestRate()))
						.toString();
			} else if (c.getAccount(index) instanceof CheckingAccount){
				accType = "Checking Account";
				addition = "Overdraft Protection: "+new StringBuffer().append(
						(((CheckingAccount) c.getAccount(index))
								.getOverdraftProtection())).toString();
			}
			String balance = new StringBuffer().append(
					c.getAccount(index).getBalance()).toString();
			this.jlbAccType.setText("Account Type:" + accType);
			this.jlbAccBalance.setText("Balance:" + balance);
			this.jlbAccAddition.setText(addition);
		}
	}

	public void updatesAccList(Customer c) {
		this.dlmAccount.clear();
		for (int i = 0; i < c.getNumOfAccounts(); ++i) {
			this.dlmAccount.addElement("" + (i + 1));
		}
	}
	
	public static String fuckSpace(String str){
		char[] chars = str.toCharArray();
		int cutOff = 0;
		for (int i=chars.length-1; i>=0; --i){
			if (chars[i]!=' '){
				cutOff = i;
				break;
			}
		}
		return  new StringBuffer().insert(0, chars, 0, cutOff+1).toString();
	}

	public static void main(String[] args) {
		RecordViewer frame = new RecordViewer();
		frame.setVisible(true);
	}

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产欧美精品一区二区色综合朱莉| 99精品一区二区| 91精品在线观看入口| 午夜精品久久久久久久99樱桃| 欧美午夜片在线观看| 青青草伊人久久| 日韩精品一区二区三区蜜臀| 国产一区二区三区美女| 国产精品久久久久久久久久免费看 | 国产一区二区免费看| 久久久久国产一区二区三区四区| 国产很黄免费观看久久| 中文字幕一区在线观看视频| 一本大道久久a久久精二百| 肉色丝袜一区二区| 精品国产一区久久| 不卡av在线网| 视频一区在线播放| 久久久精品人体av艺术| 91日韩一区二区三区| 日韩电影在线免费观看| 国产人伦精品一区二区| 一本到不卡免费一区二区| 天堂影院一区二区| 久久久久九九视频| 欧美日韩久久一区二区| 国产精品亚洲第一区在线暖暖韩国| 国产精品国产成人国产三级| 欧美电影影音先锋| 成人午夜电影网站| 性感美女极品91精品| 国产清纯美女被跳蛋高潮一区二区久久w| 成人99免费视频| 日韩精品免费视频人成| 国产精品久久影院| 日韩精品专区在线| 日本乱人伦一区| 福利一区在线观看| 日韩成人精品在线观看| 日韩伦理免费电影| www欧美成人18+| 欧美色综合影院| 不卡的av电影| 激情五月婷婷综合| 天堂精品中文字幕在线| 亚洲视频一二三区| 久久亚洲精品国产精品紫薇| 欧美日本乱大交xxxxx| 99久久国产免费看| 国产成人综合亚洲网站| 人人超碰91尤物精品国产| 亚洲欧美激情在线| 欧美激情在线一区二区| 精品美女在线观看| 欧美一区二区视频免费观看| 欧美中文字幕一区二区三区亚洲 | 日韩国产一区二| 亚洲精品国产高清久久伦理二区| 久久精品网站免费观看| 91精品中文字幕一区二区三区| 色婷婷精品久久二区二区蜜臀av| 风间由美一区二区三区在线观看 | 91久久免费观看| 国产69精品久久99不卡| 精品一区在线看| 蜜桃视频在线一区| 午夜欧美大尺度福利影院在线看| 一区二区三区不卡视频在线观看| 国产精品久久久久久久第一福利 | 另类小说视频一区二区| 婷婷开心激情综合| 午夜私人影院久久久久| 亚洲国产综合人成综合网站| 亚洲一区二区精品3399| 一区二区三区高清在线| 亚洲小少妇裸体bbw| 亚洲一级在线观看| 视频一区在线视频| 麻豆成人在线观看| 国产综合一区二区| 国产91丝袜在线播放| 国产不卡视频在线观看| 国产成人亚洲综合a∨猫咪| 粉嫩av亚洲一区二区图片| www.欧美精品一二区| 91同城在线观看| 91国在线观看| 日韩一区二区高清| 日韩精品一区二区三区三区免费| 欧美大胆一级视频| 久久精品网站免费观看| 中文字幕一区在线| 亚洲mv大片欧洲mv大片精品| 日本美女一区二区三区视频| 青娱乐精品视频在线| 国产麻豆精品在线观看| 成人国产精品免费观看| 99riav一区二区三区| 日本韩国欧美三级| 欧美一级欧美一级在线播放| 亚洲精品一区二区精华| 国产精品久久久久7777按摩 | 午夜久久久影院| 久久99蜜桃精品| 成人午夜私人影院| 欧美色图第一页| 精品国产免费人成在线观看| 国产日韩三级在线| 亚洲一区二区三区在线| 美女任你摸久久| 99久久精品国产导航| 91精品国产全国免费观看 | 最新高清无码专区| 首页国产欧美久久| 国产精品性做久久久久久| 91片黄在线观看| 欧美电视剧免费观看| 亚洲色图第一区| 久久成人免费网站| 在线观看成人小视频| 久久久蜜桃精品| 亚洲在线免费播放| 国产91在线看| 精品乱人伦小说| 亚洲综合色视频| 国产盗摄精品一区二区三区在线| 欧美性受xxxx黑人xyx性爽| 久久精品亚洲一区二区三区浴池| 午夜欧美视频在线观看| 成人av在线播放网站| 日韩精品一区在线观看| 一区二区免费看| 成人一级黄色片| 精品日韩在线观看| 亚洲成a人片在线观看中文| 成人黄色av网站在线| 久久亚洲捆绑美女| 蜜桃精品视频在线| 欧美在线三级电影| 国产精品你懂的在线| 激情成人午夜视频| 在线播放国产精品二区一二区四区 | 国产98色在线|日韩| 精品国偷自产国产一区| 五月天欧美精品| 欧美在线免费观看亚洲| 亚洲色图制服诱惑 | 亚洲国产高清不卡| 国产一区二区三区久久悠悠色av| 欧美日韩国产123区| 一区二区三区精品| 91色九色蝌蚪| 亚洲欧美国产三级| 99麻豆久久久国产精品免费优播| 久久亚洲欧美国产精品乐播| 久久97超碰国产精品超碰| 91精选在线观看| 免费人成在线不卡| 日韩一区二区精品葵司在线| 日韩电影一区二区三区| 91精品国模一区二区三区| 调教+趴+乳夹+国产+精品| 在线一区二区观看| 一区二区在线观看免费视频播放| av一区二区三区在线| 亚洲少妇30p| 在线欧美日韩精品| 一二三区精品福利视频| 在线观看欧美黄色| 日韩中文字幕区一区有砖一区| 欧美日韩高清一区二区三区| 日本视频一区二区| 日韩视频国产视频| 国产在线看一区| 国产精品久久久久久亚洲毛片| www.亚洲激情.com| 亚洲精品乱码久久久久久| 欧美日韩一区三区| 免费欧美日韩国产三级电影| 精品奇米国产一区二区三区| 国产精品一区专区| 日韩毛片精品高清免费| 欧美吻胸吃奶大尺度电影| 日韩成人免费在线| 久久九九全国免费| 一本色道久久综合亚洲精品按摩| 亚洲一区二区三区中文字幕 | 成人丝袜高跟foot| 亚洲激情六月丁香| 欧美片网站yy| 国产精品资源网| 中文字幕在线一区免费| 欧美性猛交xxxxxx富婆| 日韩av电影免费观看高清完整版在线观看 | 欧美一区二区三级| 国产盗摄精品一区二区三区在线 | 91精品免费在线观看| 国产成人丝袜美腿| 一区二区三区日韩欧美| 日韩精品一区二区三区在线观看|