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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? librarysimulator.java

?? j2se程序
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
/*
 * Created on 2005-5-8
 *
 * TODO To change the template for this generated file go to
 * Window - Preferences - Java - Code Style - Code Templates
 */

/**
 * @author home
 *
 * TODO To change the template for this generated type comment go to
 * Window - Preferences - Java - Code Style - Code Templates
 */

import java.awt.BorderLayout;
import java.awt.List;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.RandomAccessFile;
import java.util.Calendar;

import javax.swing.Box;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTabbedPane;
import javax.swing.JTextArea;
import javax.swing.Timer;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;

import treeNode.IntegerKey;
import treeNode.My23Tree;
import ui.addBookDialog;
import ui.addUserDialog;

public class LibrarySimulator extends JFrame {
	
	private addBookDialog addBookDlg = null;
	private addUserDialog addUserDlg = null;
	private My23Tree bookTree = null;
	private My23Tree userTree = null;
	private JTextArea treeArea = null;
	private List userList = null;
	private List bookList = null;
	private JTextArea workLogArea = null;
	private JComboBox selectTreeCom = null;
	private Timer timer = null;
	private int holdTime;
	
	//set up GUI
	public LibrarySimulator()
	{
		super( "圖書館管理模擬程序" );
		
		addBookDlg = new addBookDialog(this);
		addUserDlg = new addUserDialog(this);
		bookTree = new My23Tree();
		userTree = new My23Tree();
		workLogArea = new JTextArea( 30,20 );

		holdTime = -1;
		String sholdTime;
	
		for( ; ; )
		{
			sholdTime = JOptionPane.showInputDialog(null,"請輸入圖書最長借閱時(shí)間,單位為毫秒。\n默認(rèn)值為5000毫秒,輸入值需大于5000毫秒");
			try{
				holdTime = Integer.parseInt(sholdTime);
				if( holdTime >= 5000 )break;
			}
			catch(Exception ex){
			}
		}
		//create JTabbedPane
		final JTabbedPane tabbedPane = new JTabbedPane();
		
		//set up panel1 : book exchange status
		final List borrowedBookList = new List();
		final List overdueBookList = new List();
		
		JLabel borrowedBookLabel = new JLabel( "已借閱圖書" );
		JLabel overdueBookLabel = new JLabel( "已過期圖書,過期時(shí)間:" + holdTime );
		JLabel timeLabel = new JLabel("現(xiàn)在時(shí)間:");
		
		Box verticall1 = Box.createVerticalBox();
		verticall1.add( borrowedBookLabel );
		verticall1.add( new JScrollPane( borrowedBookList ) );
		verticall1.add( overdueBookLabel );
		verticall1.add( new JScrollPane( overdueBookList ) );
		tabbedPane.addTab( "借閱情況", null, verticall1, "圖書的借閱情況" );
		
		//set up panel 2 : user manage
		userList = new List();

		JPanel userButPanel = new JPanel();
		JPanel userPanel = new JPanel();
		JButton addUserBut = new JButton("添加用戶");
		JButton delUserBut = new JButton("刪除用戶");
		JButton borrowBut = new JButton("用戶借閱");
		JButton returnBut = new JButton("用戶歸還");
		
		userPanel.setLayout( new BorderLayout() );
		userButPanel.add( addUserBut );
		userButPanel.add( delUserBut );
		userButPanel.add( borrowBut );
		userButPanel.add( returnBut );
		
		userPanel.add( userList ,BorderLayout.CENTER );
		userPanel.add( userButPanel, BorderLayout.SOUTH );
		tabbedPane.addTab( "用戶管理", null, userPanel, "在此設(shè)置用戶信息以及用戶借閱情況" );
		
		
		addUserBut.addActionListener(new  java.awt.event.ActionListener(){
			public void actionPerformed(java.awt.event.ActionEvent e) {
				int userID = 1 + (int)( Math.random() * 99999 );
				addUserDlg.setSerialID(userID);
				addUserDlg.show();
				String userName = addUserDlg.getUsername();
				String sl = "";
				if(addUserDlg.isCancelled()){
					workLogArea.append( "Add user " + userName + ":" + userID + " -- cancelled\n" );
					return;
				}
				for( int i = 0; i <= userList.getItemCount() - 1 ; i++ ){
					sl = userList.getItem(i);
					if(userName.equals(sl.substring(0,sl.indexOf(':')))){
						JOptionPane.showMessageDialog(null,"用戶名重復(fù)!");
						workLogArea.append( "Add user " + userName + ":" + userID + "用戶名重復(fù) -- cancelled\n" );
						return;
					}
					if(userID == Integer.parseInt(sl.substring(sl.indexOf(':')+1,sl.indexOf('|')))){
						JOptionPane.showMessageDialog(null,"Faint!居然萬萬分之一的id相重被你趕上了!");
						workLogArea.append( "Add user " + userName + ":" + userID + "用戶ID重復(fù) -- cancelled\n" );
						return;
					}
				}
				/*
				 * 初始化用戶
				 */
				UserInfo user = new UserInfo();
				user.setUserID(userID);
				if( !user.setUserName(userName) ) return;
				/*
				 * 對樹進(jìn)行操作
				 */
				userTree.insertKey( new IntegerKey(userID),user );
				updateTree();
				/*
				 * 添加到userList
				 */
				userList.add( userName + ":" + userID + "|" );
				workLogArea.append( "Add user " + userName + ":" + userID + " --added\n" );
			}
		});
		
		delUserBut.addActionListener(new java.awt.event.ActionListener(){
			public void actionPerformed(java.awt.event.ActionEvent e){
				int num = getSelectID( userList );
				UserInfo user = (UserInfo)userTree.searchByKey( new IntegerKey( num ) );
				int b = JOptionPane.showConfirmDialog(null,"Do you want to del:" + user.getUserName() + ":" + user.getUserID() );
				if(b == 0){
					userTree.deleteKey(new IntegerKey(num));
					updateTree();
					userList.delItem(userList.getSelectedIndex());
					workLogArea.append( "Delete user " + user.getUserName() + ":" + user.getUserID() + " -- deleted\n" );
				}
				else if(b == 1){
					workLogArea.append( "Delete user " + user.getUserName() + ":" + user.getUserID() + " -- cancelled\n" );
				}
				else{
					workLogArea.append( "Delete user " + user.getUserName() + ":" + user.getUserID() + " -- cancelled\n" );
				}
			}
		});
		
		borrowBut.addActionListener(new java.awt.event.ActionListener(){
			public void actionPerformed(java.awt.event.ActionEvent e){
				int pickedNum = getSelectID(userList);
				int[] borBk = new int[5];
				String s;
				int borBK = 0;
				BookInfo book = null;
				UserInfo user = (UserInfo)userTree.searchByKey( new IntegerKey(pickedNum) );
				if( user != null )
				{
					try{
						s = JOptionPane.showInputDialog(null,user.getUserName() + " : " + user.getUserID() + " want to borrow:" );
						if(s == null){
							workLogArea.append( "Borrow book:" + user.getUserName() + " borrow " + "-- cancelled\n" );
							return;
						}
						borBK = Integer.parseInt( s );
						book = (BookInfo)bookTree.searchByKey( new IntegerKey(borBK) );
						if( book == null ){
							JOptionPane.showMessageDialog(null,"沒有這種圖書");
							workLogArea.append("Borrow book:" + user.getUserID() + " illegal book number -- failed\n" );
							return;
						}
					}
					catch(Exception ex){
					}
					if( user.getAvailable() != 0 ){
						if( book.getBookAvailable() <= 0 ){
							JOptionPane.showMessageDialog(null,book.getBookID() + "數(shù)量不夠");
							workLogArea.append("Borrow book:" + book.getBookID() + " is not available -- failed\n" );
							return;
						}
						if(!user.borrowBook( book.getBookID() ,System.currentTimeMillis() ))return;
						book.setBookAvailable( book.getBookAvailable() - 1 );
						userList.replaceItem( userList.getSelectedItem() + "<" + borBK + ">" ,userList.getSelectedIndex());
						workLogArea.append("Borrow book:" + user.getUserID() + " borrow " + borBK + " -- success\n" );
						/**
						 * 修改已借閱列表
						 */
						borrowedBookList.add( " 《"+ book.getBookName() + "》 ID:" + book.getBookID() + "| borrowed by :" + user.getUserID()+"."
								+ " Time = " + System.currentTimeMillis());
						
					}
					else {
						JOptionPane.showMessageDialog(null,"user :" + user.getUserName() + "has already borrowed 5 books");
						workLogArea.append("Borrow book:" + user.getUserID() + " has already borrowed 5 -- failed\n" );
						return;
					}
				}
			}
		});
		
		returnBut.addActionListener(new java.awt.event.ActionListener(){
			public void actionPerformed(java.awt.event.ActionEvent e){
				int pickedNum = getSelectID( userList );
				String s=userList.getSelectedItem();//刪除圖書前的listitem
				String si="";						//刪除的圖書id
				int retBk = 0;
				long overdueTime = 0;
				
				UserInfo user = (UserInfo)userTree.searchByKey( new IntegerKey(pickedNum) );
				BookInfo book = null;
				if( user != null )
				{					
					si = JOptionPane.showInputDialog(null,"請輸入歸還圖書的ID :");
					try{
						retBk = Integer.parseInt( si );
					}
					catch(Exception ex){
					}
					if( retBk == 0 ){
						workLogArea.append("Return book:" + user.getUserID() + " return " + si + "非法圖書ID -- failed\n" );
						JOptionPane.showMessageDialog(null,"illegal book number!");
					}
					else{
						book = (BookInfo)bookTree.searchByKey( new IntegerKey(retBk) );
						if( book == null ){
							JOptionPane.showMessageDialog(null,"圖書館沒有這種圖書");
							workLogArea.append("Return book:" + user.getUserID() + " return " + si + "圖書館沒有這種圖書 -- failed\n" );
							return;
						}
						overdueTime = System.currentTimeMillis() - user.getBorrowTime( retBk );
						if( user.returnBook( retBk ) ){
							book.setBookAvailable( book.getBookAvailable() + 1 );
							si = '<' + si + '>';
							int j = s.indexOf( si );
							userList.replaceItem(s.substring(0,j)+s.substring(j+si.length()),userList.getSelectedIndex());
							workLogArea.append("Return book:" + user.getUserID() + " return " + si + ",持有時(shí)間 = " + overdueTime + " -- success\n" );
							/**
							 * 修改已借閱列表
							 */
							String sl = "";
							String sUserNum = "";
							String sBookNum = "";
							int iBookNum = 0;
							int iUserNum = 0;
							for( int i = 0; i<= borrowedBookList.getItemCount() - 1; i++ ){
								sl = borrowedBookList.getItem(i);
								sBookNum = sl.substring( sl.indexOf(':') + 1 ,sl.indexOf('|') );
								sUserNum = sl.substring( sl.lastIndexOf(':') + 1 ,sl.lastIndexOf('.') );
								try{
									iBookNum = Integer.parseInt( sBookNum );
									iUserNum = Integer.parseInt( sUserNum );
								}
								catch( Exception ex ){
									JOptionPane.showMessageDialog(null,"響應(yīng)算法錯(cuò)誤");
								}
								if( iUserNum == user.getUserID() && iBookNum == retBk ){
									borrowedBookList.delItem(i);
									break;
								}
							}
							/**
							 * 修改過期列表
							 */
							for( int i = 0; i<= overdueBookList.getItemCount() - 1; i++ ){
								sl = overdueBookList.getItem(i);
								sBookNum = sl.substring( sl.indexOf(':') + 1 ,sl.indexOf('|') );
								sUserNum = sl.substring( sl.lastIndexOf(':') + 1 ,sl.lastIndexOf('.') );
								try{
									iBookNum = Integer.parseInt( sBookNum );
									iUserNum = Integer.parseInt( sUserNum );
								}
								catch( Exception ex ){
									JOptionPane.showMessageDialog(null,"響應(yīng)算法錯(cuò)誤");
								}
								if( iUserNum == user.getUserID() && iBookNum == retBk ){
									overdueBookList.delItem(i);
									JOptionPane.showMessageDialog(null,"歸還超時(shí):" + overdueTime + "毫秒" );
									break;
								}
							}
						}
						else{
							JOptionPane.showMessageDialog(null,user.getUserName() + " did not borrow this book");
							workLogArea.append("Return book:" + user.getUserID() + " didn't borrow this book" + " -- failed\n" );
						}
					}
				}
			}
		});
		
		//set up panel 3 : book manage
		bookList = new List();
		
		final JLabel showBook = new JLabel("雙擊圖書以顯示詳細(xì)信息……");
		final JLabel showBookName = new JLabel("    名稱:");
		final JLabel showBookID = new JLabel("         ID:");
		final JLabel showBookAuthor = new JLabel("    作者:");
		final JLabel showBookAvailable = new JLabel("可借閱:");
		final JLabel showBookTotal = new JLabel("    總量:");
		JPanel bookButPanel = new JPanel();
		JPanel bookPanel = new JPanel();
		JButton addBookBut = new JButton("添加新書");
		JButton adaptBook = new JButton("修改圖書屬性");
		JButton delBookBut = new JButton("清除圖書");

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美高清www午色夜在线视频| 久久久久国产精品麻豆| 日韩一级在线观看| 亚洲视频免费观看| 国产成人精品亚洲777人妖| 欧美三级一区二区| 亚洲欧洲av在线| 黄一区二区三区| 91精品免费在线观看| 亚洲同性gay激情无套| 国产精品456露脸| 日韩欧美专区在线| 日韩激情视频网站| 欧美主播一区二区三区| 日本一区二区视频在线观看| 日韩电影在线免费观看| 成人精品免费视频| 国产日韩欧美精品在线| 激情小说亚洲一区| 777欧美精品| 亚洲国产视频在线| 欧美综合一区二区| 中文字幕在线不卡| 大白屁股一区二区视频| 国产日韩高清在线| 粉嫩av一区二区三区| 国产拍揄自揄精品视频麻豆| 精品午夜一区二区三区在线观看 | av动漫一区二区| 久久欧美中文字幕| 国产一区欧美二区| 久久亚洲精品国产精品紫薇| 国产综合色视频| 欧美精品一区二区三区一线天视频| 日韩激情一二三区| 666欧美在线视频| 蜜桃av噜噜一区| 精品少妇一区二区三区在线视频| 麻豆精品新av中文字幕| 欧美成人伊人久久综合网| 精品亚洲国产成人av制服丝袜| 精品国产一区二区精华| 国产精品综合在线视频| 国产精品欧美久久久久无广告| 国模无码大尺度一区二区三区| 久久久久久免费| 成人h动漫精品| 亚洲午夜私人影院| 日韩欧美色综合网站| 国产精品影视网| 亚洲免费毛片网站| 欧美一区二区在线免费播放| 国产一区二区三区电影在线观看| 亚洲国产精品精华液ab| 一本大道久久a久久精二百 | 不卡电影一区二区三区| 亚洲色图第一区| 欧美高清视频一二三区| 国产一区美女在线| 亚洲人成人一区二区在线观看 | 亚洲风情在线资源站| 日韩视频一区二区| 成人性生交大片免费看在线播放| 一二三四社区欧美黄| 日韩欧美高清一区| 99久久精品情趣| 亚洲va欧美va人人爽| 久久久精品人体av艺术| 色综合色综合色综合色综合色综合 | 精品国产乱码久久久久久影片| 粉嫩高潮美女一区二区三区| 午夜精品久久久| 中文字幕精品一区二区三区精品| 日本高清视频一区二区| 国产在线精品一区二区三区不卡 | 久久综合狠狠综合久久激情 | 在线电影一区二区三区| 国产精品888| 日韩国产欧美一区二区三区| 国产精品久久看| 欧美一二三区精品| 91美女在线观看| 国产呦萝稀缺另类资源| 天天影视网天天综合色在线播放| 国产女人aaa级久久久级 | 午夜日韩在线观看| 欧美韩国一区二区| 91麻豆精品国产91久久久久 | 欧美一卡二卡三卡四卡| 91精彩视频在线观看| 丰满少妇久久久久久久| 蜜臀av亚洲一区中文字幕| 亚洲国产日产av| 自拍偷自拍亚洲精品播放| 欧美精品一区二区三区很污很色的| 欧美日韩午夜在线视频| 91网站视频在线观看| 国产精品18久久久久久久久 | 久久综合精品国产一区二区三区 | 69堂成人精品免费视频| 91麻豆国产香蕉久久精品| 国产精品 欧美精品| 美女精品一区二区| 爽好多水快深点欧美视频| 亚洲欧洲99久久| 欧美国产欧美亚州国产日韩mv天天看完整| 欧美一区二区三区免费在线看| 欧美日韩激情一区二区三区| 在线这里只有精品| 91猫先生在线| 91国产免费看| 色综合久久中文字幕| 一本到高清视频免费精品| 99re这里只有精品首页| 99r国产精品| 色视频一区二区| 在线看国产日韩| 欧美性受xxxx黑人xyx| 欧美性生活影院| 91精品国产综合久久久蜜臀粉嫩| 欧洲精品在线观看| 欧美色偷偷大香| 日韩三级免费观看| 日韩欧美国产电影| 日韩精品一区二区三区视频 | 7777精品伊人久久久大香线蕉完整版| 欧美日韩精品一区视频| 宅男噜噜噜66一区二区66| 精品国产免费一区二区三区四区| 久久久久国产精品人| 国产精品久久久久久久久搜平片 | 91精品1区2区| 91精品久久久久久久99蜜桃| 日韩一区二区高清| 国产校园另类小说区| 欧美高清在线一区| 一区二区三区中文字幕精品精品| 亚洲午夜一二三区视频| 麻豆国产91在线播放| 国产不卡视频在线观看| 欧洲一区在线电影| 日韩亚洲欧美中文三级| 国产精品视频一二三| 亚洲欧洲综合另类在线| 免费观看一级特黄欧美大片| 粉嫩一区二区三区性色av| 欧美私模裸体表演在线观看| 精品久久一区二区三区| 1000部国产精品成人观看| 视频一区二区三区中文字幕| 国产一区二区三区精品欧美日韩一区二区三区 | 白白色 亚洲乱淫| 在线观看欧美黄色| 精品国产伦一区二区三区观看方式| 中文字幕欧美日本乱码一线二线| 亚洲国产另类av| 国产91丝袜在线播放0| 欧美日韩一区二区在线观看视频| 久久综合九色综合欧美亚洲| 一区二区三区四区国产精品| 久久国产尿小便嘘嘘| 日本丰满少妇一区二区三区| 精品精品国产高清a毛片牛牛| 亚洲精品国产成人久久av盗摄| 美女视频黄久久| 欧美亚洲日本国产| 欧美激情自拍偷拍| 久久精品国产久精国产爱| 国产成人aaaa| 欧美日本视频在线| 亚洲免费av在线| 国产不卡视频一区| 91精品久久久久久久91蜜桃| 樱花草国产18久久久久| 国产成人精品网址| 精品美女在线观看| 午夜欧美一区二区三区在线播放| 成人性色生活片| 久久久三级国产网站| 免费久久99精品国产| 欧美日韩夫妻久久| 亚洲va韩国va欧美va| 菠萝蜜视频在线观看一区| 久久久青草青青国产亚洲免观| 免费在线观看不卡| 717成人午夜免费福利电影| 亚洲免费高清视频在线| a亚洲天堂av| 中文字幕一区二区三| 国产高清不卡一区| www精品美女久久久tv| 久久国产夜色精品鲁鲁99| 日韩一卡二卡三卡国产欧美| 人人狠狠综合久久亚洲| 91精品国产色综合久久| 首页亚洲欧美制服丝腿| 欧美日韩高清在线| 午夜精品久久一牛影视| 欧美乱熟臀69xxxxxx| 日本一区中文字幕|