zoukankan      html  css  js  c++  java
  • 小棒组合团队项目第十五周总结

    小棒组合第十四周项目总结

    项目名称

    • 图书管理系统

    本周项目内容

    • 图书借阅部分设计
    • 图书归还部分设计
    • 图书查询部分设计

    项目进展

    • 本周是实现项目的最后一部分,图书借阅和归还的相关部分
    • 图书归还部分
      • 在类构造函数中创建窗体布局及相关属性
      • 为读者条形码文本框添加键盘监听事件,在keyTyped方法中,调用dao类中查询读者相关信息方法
    class ISBNListenerlostFocus extends KeyAdapter {
    		public void keyTyped(KeyEvent e) {
    			if (e.getKeyChar() == '
    ') { // 判断在文本框是否输入回车。
    				String ISBNs = readerISBN.getText().trim();
    
    				List list = Dao.selectReader(ISBNs);
    				if (list.isEmpty() && !ISBNs.isEmpty()) {
    					JOptionPane.showMessageDialog(null,
    							"此读者编号没有注册,查询输入读者编号是否有误!");
    				}
    				for (int i = 0; i < list.size(); i++) {
    					Reader reader = (Reader) list.get(i);
    					readerName.setText(reader.getName());
    					number.setText(reader.getMaxNum());
    					keepMoney.setText(reader.getKeepMoney() + "");
    					System.out.println("读者可借书量" + number.getText().trim());
    				}
    			}
    		}
    	}
    
    • 在图书条形码文本框键盘监听事件中获取图书条形码文本框内容,调用Dao类中查询图书相关信息的方法
    class bookISBNListenerlostFocus extends KeyAdapter {
    		public void keyTyped(KeyEvent e) {
    			if (e.getKeyChar() == '
    ') { // 判断在文本框是否输入回车。
    				if (readerISBN.getText().trim().length()!=0
    						&& bookISBN.getText().trim().length()!=0) {
    					String ISBNs = bookISBN.getText().trim();
    					List list = Dao.selectBookInfo(ISBNs);
    					for (int i = 0; i < list.size(); i++) {
    						BookInfo book = (BookInfo) list.get(i);
    						bookName.setText(book.getBookname());
    						bookType.setText(String.valueOf(map.get(book
    								.getTypeid())));
    						price.setText(String.valueOf(book.getPrice()));
    					}
    					String days = "0";
    					List list2 = Dao.selectBookCategory(bookType.getText()
    							.trim());
    					for (int j = 0; j < list2.size(); j++) {
    						BookType type = (BookType) list2.get(j);
    						days = type.getDays();
    					}
    					String readerISBNs = readerISBN.getText().trim();
    					List list5 = Dao.selectReader(readerISBNs);// 此读者是否在tb_reader表中
    					List list4 = Dao.selectBookInfo(ISBNs);// 此书是否在tb_bookInfo表中
    					if (!readerISBNs.isEmpty() && list5.isEmpty()) {
    						JOptionPane.showMessageDialog(null,
    								"此读者编号没有注册,查询输入读者编号是否有误!");
    						return;
    					}
    					if (list4.isEmpty() && !ISBNs.isEmpty()) {
    						JOptionPane.showMessageDialog(null,
    								"本图书馆没有此书,查询输入图书编号是否有误!");
    						return;
    					}
    					if (Integer.parseInt(number.getText().trim()) <= 0) {
    						JOptionPane.showMessageDialog(null, "借书量已经超过最大借书量!");
    						return;
    					}
    
    					add();
    					number.setText(String.valueOf(Integer.parseInt(number
    							.getText().trim()) - 1));
    				}
    
    				else
    					JOptionPane.showMessageDialog(null, "请输入读者条形码!");
    			}
    
    		}
    	}
    
    
    • 在BookBorrowIFrame中创建表格行添加方法add(),在图书条形码文本框键盘监听事件中调用
    • 创建取得应归还时间方法
    • 图书归还部分
      • 实现管理员输入读者条形码后,在窗体表格中显示相关内容的方法,在Dao类中进行,用到tb_borrowtb_readertb_bookInfo三个表格
      • 设计窗体时,需要实现用户单击表格中的某一行,在相应文本框中显示此书借阅的罚款信息,可以设置表格的鼠标监听事件,在mouseClicked()方法中实现上述操作
      • 最后为“图书规还”按钮添加监听事件
    • 图书查询部分设计
      • 在Dao类中定义两个查询方法,分别为条件查询和全部查询,查询完毕结果放入JavaBean中,将Javabean对象添加到list
    public static List selectbookserch() {
    		List list=new ArrayList();
    		String sql = "select *  from tb_bookInfo";
    		ResultSet s = Dao.executeQuery(sql);
    		try {
    			while (s.next()) {
    				BookInfo bookinfo=new BookInfo();
    				bookinfo.setISBN(s.getString(1));
    				bookinfo.setTypeid(s.getString(2));
    				bookinfo.setBookname(s.getString(3));
    				bookinfo.setWriter(s.getString(4));
    				bookinfo.setTranslator(s.getString(5));
    				bookinfo.setPublisher(s.getString(6));
    				bookinfo.setDate(s.getDate(7));
    				bookinfo.setPrice(s.getDouble(8));
    				list.add(bookinfo);
    			}
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    		Dao.close();
    		return list;
    	}
    
    • BookSearchIFrame类中创建表格
    • 最后在“查询”按钮中添加监听事件,重写actionPerFormed()方法,在此方法中调用Dao类中的查询方法

    成员贡献

    • 20145337马 月 学习相关资料
    • 20145329吉东云 学习相关资料
    • 20145308刘昊阳 图书借阅、归还、查询部分代码 撰写博客
    • 20145316许心远 学习相关资料
  • 相关阅读:
    Java 第十一届 蓝桥杯 省模拟赛 洁净数
    Java 第十一届 蓝桥杯 省模拟赛 第十层的二叉树
    Java 第十一届 蓝桥杯 省模拟赛 第十层的二叉树
    Java 第十一届 蓝桥杯 省模拟赛 第十层的二叉树
    Java 第十一届 蓝桥杯 省模拟赛 70044与113148的最大公约数
    Java 第十一届 蓝桥杯 省模拟赛 70044与113148的最大公约数
    20. Valid Parentheses
    290. Word Pattern
    205. Isomorphic Strings
    71. Simplify Path
  • 原文地址:https://www.cnblogs.com/SmallBang/p/5574099.html
Copyright © 2011-2022 走看看