已阅读5页,还剩44页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
面向对象课程设计报告 课程设计题目 图书信息管理系统 学学 院 院 计算机科学与技术学院计算机科学与技术学院 专专 业 业 软件工程软件工程 班班 级 级 131 学学 号 号 学生姓名 学生姓名 易榜宇易榜宇 指导教师 指导教师 汪健汪健 2014 年年 7 月月 12 日日 一 课程设计目的及要求一 课程设计目的及要求 1 课程设计要求课程设计要求 面向对象程序设计是一门实践性较强的课程 以实际应用为目的 在课程设计 时应注重培养学生的实际操作能力 本课程设计安排了 16 学时的实验课时 具体 要求如下 1 学习和理解课程设计题目的基本理论和方法 2 掌握实验的实现步骤和关键技术 3 准备好实验所需要的资源和文档 4 上机实现程序 得到通过调试的正确程序 5 根据实验的要求 完成实验报告的 word 文档 2 课程设计目的 课程设计目的 面向对象程序设计是软件工程专业的专业基础课 目的是让学生通过对面向对象 程序设计语言 例如 Java 的学习 全面理解和掌握面向对象程序设计的基本思想 基本概念和基本方法 本课程设计是面向对象程序设计课程的后续实践课程 在本课程设计中 将利用 JDK1 7 1 8 平台和 Eclipse Netbeans 集成开发环境为实践工具 通过上机实践培养 学生分析具体问题 利用面向对象语言工具 Java 解决实际问题的能力 更好地理 解和掌握面向对象的思想 概念和方法 二 课程设计实践环境二 课程设计实践环境 Win7 JDK 1 7 1 8 以及 Eclipse 集成开发环境 3 课程设计内容课程设计内容 1 图书借阅信息管理系统图书借阅信息管理系统 题目要求 题目要求 设计三个类 图书类 读者类 借阅信息类 图书类用来存储图书的 信息 读者类用来存储读者的信息 借阅信息类用来存储读者借阅图书的信息 在系 统中实现图书信息的添加和查询 读者信息的添加和查询 图书借阅信息的添加和查 询 图书信息图书信息可以包括 书名 图书编号图书编号 作者 出版社 出版时间 版次 ISBN 定价等 读者信息读者信息可以包括 姓名 年龄 性别 借阅证号 读者编号 借阅证号 读者编号 单位等 图书借阅信息图书借阅信息可以包括 读者编号读者编号 图书编号图书编号 借出时间 应还时间等 2 具体设计了 AddInforFrame AddBookFrame AddFrame AddListener SearchListener LoginListener OperateFrame SearchBookFrame SearchUserFrame Se archInforFrame WindowLoad MainFrame 这样我几个类 3 0 这是管理员登录的界面 1 这是管理员进行操作的界面 2 这是用户添加的界面 3 这是用户查询的界面 4 这是管理员将要退出的界面 4 使用说明 管理员通过后台登录 用户名 admin 密码 可以进行读者 图书 借阅信息的添 加与查询 以及相关的操作 四 源程序代码四 源程序代码 AddBookFrame java import java awt FlowLayout import java awt event ActionEvent import java awt event ActionListener import java awt event WindowAdapter import java awt event WindowEvent import java io BufferedReader import java io File import java io FileInputStream import java io FileOutputStream import java io FileReader import java io IOException import java util regex Matcher import java util regex Pattern import javax swing Box import javax swing JButton import javax swing JFrame import javax swing JLabel import javax swing JOptionPane import javax swing JScrollPane import javax swing JTextArea import javax swing JTextField import javax swing event DocumentEvent import javax swing event DocumentListener public class AddBookFrame extends JFrame implements ActionListener static int bookcount 0 JLabel alable 姓名 学号 年龄 性别 学院 专业 年级 班级 JLabel userlable JLabel usernumber JLabel age JLabel sex JLabel collage JLabel major JLabel grade JLabel class JTextField userinput usernuminput ageinput sexinput collageinput majorinput gradeinput class input JTextArea showtext 用于显示用户添加的信息域 JButton ok JButton reset int flag 0 int flag1 0 public AddBookFrame init setBounds 400 100 600 600 setVisible true setResizable false addWindowListener new WindowAdapter public void windowClosing WindowEvent e int n JOptionPane showConfirmDialog this 是否要真的退出添加 确 认对话框 JOptionPane YES NO CANCEL OPTION if n JOptionPane YES OPTION this EXIT ON CLOSE System exit 0 setDefaultCloseOperation this DISPOSE ON CLOSE void init alable new JLabel 请填写相关信息 userlable new JLabel 编号 usernumber new JLabel 书名 age new JLabel 版次 sex new JLabel 定价 collage new JLabel 作者 major new JLabel 出版社 grade new JLabel 出版时间 class new JLabel ISBN userinput new JTextField 15 usernuminput new JTextField 15 ageinput new JTextField 15 sexinput new JTextField 15 collageinput new JTextField 15 majorinput new JTextField 15 gradeinput new JTextField 15 class input new JTextField 15 设置盒式布局并添加组件 Box baseBox boxV1 boxV2 boxV3 boxV4 this setLayout new FlowLayout boxV1 Box createVerticalBox boxV1 add alable boxV1 add boxV1 createVerticalStrut 30 boxV1 add userlable boxV1 add boxV1 createVerticalStrut 15 boxV1 add usernumber boxV1 add boxV1 createVerticalStrut 15 boxV1 add age boxV1 add boxV1 createVerticalStrut 15 boxV1 add sex boxV1 add boxV1 createVerticalStrut 15 boxV1 add collage boxV1 add boxV1 createVerticalStrut 15 boxV1 add major boxV1 add boxV1 createVerticalStrut 15 boxV1 add grade boxV1 add boxV1 createVerticalStrut 15 boxV1 add class boxV2 Box createVerticalBox boxV2 createVerticalStrut 10 boxV2 add boxV2 createVerticalStrut 45 boxV2 add userinput boxV2 add boxV2 createVerticalStrut 11 boxV2 add usernuminput boxV2 add boxV2 createVerticalStrut 11 boxV2 add ageinput boxV2 add boxV2 createVerticalStrut 11 boxV2 add sexinput boxV2 add boxV2 createVerticalStrut 11 boxV2 add collageinput boxV2 add boxV2 createVerticalStrut 11 boxV2 add majorinput boxV2 add boxV2 createVerticalStrut 11 boxV2 add gradeinput boxV2 add boxV2 createVerticalStrut 11 boxV2 add class input boxV3 Box createHorizontalBox boxV3 add boxV1 boxV3 add boxV2 boxV4 Box createHorizontalBox ok new JButton 确定 reset new JButton 取消 ok addActionListener this reset addActionListener this boxV4 add ok boxV4 add reset baseBox Box createVerticalBox baseBox add boxV3 baseBox add baseBox createVerticalStrut 20 baseBox add boxV4 showtext new JTextArea 9 50 文本域的一些操作 showtext setText 您新添加的图书信息如下 add new JScrollPane showtext showtext setLineWrap true showtext getDocument addDocumentListener this add showtext this add baseBox 让输入用户名的文本框获得焦点 userinput grabFocus Override public void actionPerformed ActionEvent e TODO Auto generated method stub if e getSource reset showtext setText 您新添加的图书信息如下 else if userinput getText isEmpty usernuminput getText isEmpty ageinput getText isEm pty sexinput getText isEmpty collageinput getText isEmpty majorinput getText is Empty gradeinput getText isEmpty class input getText isEmpty JOptionPane showMessageDialog this 请把信息填写完整 警告对话框 JOptionPane WARNING MESSAGE else 此时用户已存在了 String usernum userinput getText int b byte tom new byte File file new File C Book txt try FileReader in new FileReader file BufferedReader inTwo new BufferedReader in String s null int a while s inTwo readLine null if a s indexOf usernum 1 flag 1 JOptionPane showMessageDialog this 图书已经存在 警告对话框 JOptionPane WARNING MESSAGE userinput setText null usernuminput setText null ageinput setText null sexinput setText null collageinput setText null majorinput setText null gradeinput setText null class input setText null break catch IOException e1 JOptionPane showMessageDialog this 文件读取失败 警告对话框 JOptionPane WARNING MESSAGE if flag 0 没有重复添加图书的情况 try int n Integer parseInt userinput getText String date1 gradeinput getText String date2 majorinput getText String eL 0 9 4 0 1 0 9 0 3 0 9 Pattern p Ppile eL Matcher mm p matcher date1 Matcher nn p matcher date2 boolean dateFlag mm matches if dateFlag flag1 1 JOptionPane showMessageDialog this 日期格式有误 警告对话 框 JOptionPane WARNING MESSAGE gradeinput setText null majorinput setText null gradeinput grabFocus if flag1 0 bookcount 计数总人数 String s1 userinput getText showtext append n 编号 s1 String s2 usernuminput getText showtext append 书名 s2 String s3 ageinput getText showtext append 版次 s3 String s4 sexinput getText showtext append 定价 s4 n String s5 collageinput getText showtext append 作者 s5 String s6 majorinput getText showtext append 出版社 s6 String s7 gradeinput getText showtext append 出版时间 s7 String s8 class input getText showtext append ISBN s8 int n1 JOptionPane showConfirmDialog this 是否要真的添加 确认对话框 JOptionPane YES NO CANCEL OPTION if n1 JOptionPane YES OPTION this EXIT ON CLOSE String personInfo 学号 s1 r n 姓名 s2 r n 年龄 s3 r n 性别 s4 r n 学院 s5 r n 专业 s6 r n 年级 s7 r n 班级 s8 r n 用户所有信息 byte tom1 new byte tom1 personInfo getBytes try File f new File C Book txt try f createNewFile 当且仅当不存在具有此抽象路径名指定名称的文件时 不可分地创建一个新的空文件 catch IOException e2 e2 printStackTrace FileOutputStream out new FileOutputStream f true out write tom out write tom1 0 tom1 length while b in read tom 0 10000 1 String s new String tom 0 b System out println personInfo out close 弹出添加成功的界面 JOptionPane showMessageDialog this 添加成功 通知对话框 JOptionPane WARNING MESSAGE userinput setText null usernuminput setText null ageinput setText null sexinput setText null collageinput setText null majorinput setText null gradeinput setText null class input setText null catch IOException ex JOptionPane showMessageDialog this 文件写入错误 警告对话框 JOptionPane WARNING MESSAGE System out println File write Error ex catch Exception ee JOptionPane showMessageDialog this 书编号格式错误 警告对话 框 JOptionPane WARNING MESSAGE userinput setText null userinput grabFocus AddFrame java import java awt FlowLayout import java awt event ActionEvent import java awt event ActionListener import java awt event WindowAdapter import java awt event WindowEvent import java io BufferedReader import java io File import java io FileInputStream import java io FileOutputStream import java io FileReader import java io IOException import javax swing Box import javax swing JButton import javax swing JFrame import javax swing JLabel import javax swing JOptionPane import javax swing JScrollPane import javax swing JTextArea import javax swing JTextField import javax swing event DocumentEvent import javax swing event DocumentListener public class AddFrame extends JFrame implements ActionListener static int stucount 0 JLabel alable 姓名 学号 年龄 性别 学院 专业 年级 班级 JLabel userlable JLabel usernumber JLabel age JLabel sex JLabel collage JLabel major JLabel grade JLabel class JTextField userinput usernuminput ageinput sexinput collageinput majorinput gradeinput class input JTextArea showtext 用于显示用户添加的信息域 JButton ok JButton reset int flag 0 public AddFrame init setBounds 400 100 600 600 setVisible true setResizable false addWindowListener new WindowAdapter public void windowClosing WindowEvent e int n JOptionPane showConfirmDialog this 是否要真的退出添加 确认对话框 JOptionPane YES NO CANCEL OPTION if n JOptionPane YES OPTION this EXIT ON CLOSE System exit 0 setDefaultCloseOperation this DISPOSE ON CLOSE void init alable new JLabel 请填写相关信息 userlable new JLabel 姓名 usernumber new JLabel 学号 age new JLabel 年龄 sex new JLabel 性别 collage new JLabel 学院 major new JLabel 专业 grade new JLabel 年级 class new JLabel 班级 userinput new JTextField 15 usernuminput new JTextField 15 ageinput new JTextField 15 sexinput new JTextField 15 collageinput new JTextField 15 majorinput new JTextField 15 gradeinput new JTextField 15 class input new JTextField 15 设置盒式布局并添加组件 Box baseBox boxV1 boxV2 boxV3 boxV4 this setLayout new FlowLayout boxV1 Box createVerticalBox boxV1 add alable boxV1 add boxV1 createVerticalStrut 30 boxV1 add userlable boxV1 add boxV1 createVerticalStrut 15 boxV1 add usernumber boxV1 add boxV1 createVerticalStrut 15 boxV1 add age boxV1 add boxV1 createVerticalStrut 15 boxV1 add sex boxV1 add boxV1 createVerticalStrut 15 boxV1 add collage boxV1 add boxV1 createVerticalStrut 15 boxV1 add major boxV1 add boxV1 createVerticalStrut 15 boxV1 add grade boxV1 add boxV1 createVerticalStrut 15 boxV1 add class boxV2 Box createVerticalBox boxV2 createVerticalStrut 10 boxV2 add boxV2 createVerticalStrut 45 boxV2 add userinput boxV2 add boxV2 createVerticalStrut 11 boxV2 add usernuminput boxV2 add boxV2 createVerticalStrut 11 boxV2 add ageinput boxV2 add boxV2 createVerticalStrut 11 boxV2 add sexinput boxV2 add boxV2 createVerticalStrut 11 boxV2 add collageinput boxV2 add boxV2 createVerticalStrut 11 boxV2 add majorinput boxV2 add boxV2 createVerticalStrut 11 boxV2 add gradeinput boxV2 add boxV2 createVerticalStrut 11 boxV2 add class input boxV3 Box createHorizontalBox boxV3 add boxV1 boxV3 add boxV2 boxV4 Box createHorizontalBox ok new JButton 确定 reset new JButton 取消 ok addActionListener this reset addActionListener this boxV4 add ok boxV4 add reset baseBox Box createVerticalBox baseBox add boxV3 baseBox add baseBox createVerticalStrut 20 baseBox add boxV4 showtext new JTextArea 9 50 文本域的一些操作 showtext setText 您新添加的用户信息如下 add new JScrollPane showtext showtext setLineWrap true showtext getDocument addDocumentListener this add showtext this add baseBox 让输入用户名的文本框获得焦点 userinput grabFocus Override public void actionPerformed ActionEvent e TODO Auto generated method stub if e getSource reset showtext setText 您新添加的用户信息如下 else 此时用户已存在了 String usernum usernuminput getText int b byte tom new byte File file new File C Student txt try FileReader in new FileReader file BufferedReader inTwo new BufferedReader in String s null int a while s inTwo readLine null if a s indexOf usernum 1 flag 1 JOptionPane showMessageDialog this 此用户也注册 JOptionPane WARNING MESSAGE userinput setText null usernuminput setText null ageinput setText null sexinput setText null collageinput setText null majorinput setText null gradeinput setText null class input setText null userinput grabFocus break catch IOException e1 JOptionPane showMessageDialog this 读取失败 JOptionPane WARNING MESSAGE if flag 1 try int n Integer parseInt usernuminput getText int m Integer parseInt ageinput getText if m100 JOptionPane showMessageDialog this 年龄填写不正确 JOptionPane WARNING MESSAGE ageinput setText null ageinput grabFocus String sex sexinput getText if sex equals 男 sexinput setText null userinput grabFocus if userinput getText isEmpty usernuminput getText isEmpty ageinput getText isEmpty se xinput getText isEmpty collageinput getText isEmpty majorinput getText isEmpty gradeinput getText isEmpty class input getText isEmpty JOptionPane showMessageDialog this 请把信息填写完整 JOptionPane WARNING MESSAGE else stucount 计数总人数 String s1 userinput getText showtext append n 用户名 s1 String s2 usernuminput getText showtext append 学号 s2 String s3 ageinput getText showtext append 年龄 s3 String s4 sexinput getText showtext append 性别 s4 n String s5 collageinput getText showtext append 学院 s5 String s6 majorinput getText showtext append 专业 s6 String s7 gradeinput getText showtext append 年级 s7 String s8 class input getText showtext append 班级 s8 int n1 JOptionPane showConfirmDialog this 是否确定添加 JOptionPane YES NO CANCEL OPTION if n1 JOptionPane YES OPTION this EXIT ON CLOSE String personInfo 学号 s2 r n 姓名 s1 r n 年龄 s3 r n 性别 s4 r n 学院 s5 r n 专业 s6 r n 年级 s7 r n 班级 s8 r n 用户所有信息 byte tom1 new byte tom1 personInfo getBytes try File f new File C Student txt try f createNewFile 当且仅当不存在具有此抽象路径名指定名称的文件时 不 可分地创建一个新的空文件 catch IOException e2 e2 printStackTrace FileOutputStream out new FileOutputStream f true out write tom out write tom1 0 tom1 length while b in read tom 0 10000 1 String s new String tom 0 b System out println personInfo out close 弹出添加成功的界面 JOptionPane showMessageDialog this 添加成功 通知对话框 JOptionPane WARNING MESSAGE userinput setText null usernuminput setText null ageinput setText null sexinput setText null collageinput setText null majorinput setText null gradeinput setText null class input setText null catch IOException ex JOptionPane showMessageDialog this 文件写入错误 警告对话框 JOptionPane WARNING MESSAGE System out println File write Error ex catch Exception ee JOptionPane showMessageDialog this 学号或年龄格式错误 警告对话框 JOptionPane WARNING MESSAGE ageinput setText null usernuminput setText null usernuminput grabFocus AddInforFrame java import java awt FlowLayout import java awt event ActionEvent import java awt event ActionListener import java awt event WindowAdapter import java awt event WindowEvent import java io BufferedReader import java io File import java io FileInputStream import java io FileOutputStream import java io FileReader import java io IOException import java util regex Matcher import java util regex Pattern import javax swing Box import javax swing JButton import javax swing JFrame import javax swing JLabel import javax swing JOptionPane import javax swing JScrollPane import javax swing JTextArea import javax swing JTextField import javax swing event DocumentEvent import javax swing event DocumentListener public class AddInforFrame extends JFrame implements ActionListener static int inforcount 0 JLabel alable 姓名 学号 年龄 性别 学院 专业 年级 班级 JLabel userlable JLabel usernumber JLabel age JLabel sex JLabel collage JLabel major JTextField userinput usernuminput ageinput sexinput collageinput majorinput JTextArea showtext 用于显示用户添加的信息域 JButton ok JButton reset int flag 0 int flag1 0 public AddInforFrame init setBounds 400 100 600 600 setVisible true setResizable false addWindowListener new WindowAdapter public void windowClosing WindowEvent e int n JOptionPane showConfirmDialog this 是否要真的退出添加 确认对话框 JOptionPane YES NO CANCEL OPTION if n JOptionPane YES OPTION this EXIT ON CLOSE System exit 0 setDefaultCloseOperation this DISPOSE ON CLOSE void init alable new JLabel 请填写相关信息 userlable new JLabel 学号 usernumber new JLabel 编号 age new JLabel 姓名 sex new JLabel 书名 collage new JLabel 借书时间 major new JLabel 还书时间 userinput new JTextField 15 usernuminput new JTextField 15 ageinput new JTextField 15 sexinput new JTextField 15 collageinput new JTextField 15 majorinput new JTextField 15 设置盒式布局并添加组件 Box baseBox boxV1 boxV2 boxV3 boxV4 this setLayout new FlowLayout boxV1 Box createVerticalBox boxV1 add alable boxV1 add boxV1 createVerticalStrut 30 boxV1 add userlable boxV1 add boxV1 createVerticalStrut 15 boxV1 add usernumber boxV1 add boxV1 createVerticalStrut 15 boxV1 add age boxV1 add boxV1 createVerticalStrut 15 boxV1 add sex boxV1 add boxV1 createVerticalStrut 15 boxV1 add collage boxV1 add boxV1 createVerticalStrut 15 boxV1 add major boxV2 Box createVerticalBox boxV2 createVerticalStrut 10 boxV2 add boxV2 createVerticalStrut 45 boxV2 add userinput boxV2 add boxV2 createVerticalStrut 11 boxV2 add usernuminput boxV2 add boxV2 createVerticalStrut 11 boxV2 add ageinput boxV2 add boxV2 createVerticalStrut 11 boxV2 add sexinput boxV2 add boxV2 createVerticalStrut 11 boxV2 add collageinput boxV2 add boxV2 createVerticalStrut 11 boxV2 add majorinput boxV3 Box createHorizontalBox boxV3 add boxV1 boxV3 add boxV2 boxV4 Box createHorizontalBox ok new JButton 确定 reset new JButton 取消 ok addActionListener this reset addActionListener this boxV4 add ok boxV4 add reset baseBox Box createVerticalBox baseBox add boxV3 baseBox add baseBox createVerticalStrut 20 baseBox add boxV4 showtext new JTextArea 9 50 文本域的一些操作 showtext setText 您新添加的借阅信息如下 add new JScrollPane showtext showtext setLineWrap true showtext getDocument addDocumentListener this add showtext this add baseBox 让输入用户名的文本框获得焦点 userinput grabFocus Override public void actionPerformed ActionEvent e TODO Auto generated method stub if e getSource reset showtext setText 您新添加的借阅信息如下 else if userinput getText isEmpty usernuminput getText isEmpty ageinput getText isEmpty sexinput getText isEmp ty collageinput getText isEmpty majorinput getText
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 资产转让合同格式
- 专业借款合同样本:工程
- 2024房屋装修合同协议书个人范本
- 标准版店铺租赁合同样式
- 2024年度网络安全服务合同标的定义与执行细则
- 水产养殖合同收购范例
- 2024卫星遥感数据服务采购合同
- 2024人工智能在医疗诊断中的应用合同
- 2024年广告发布与 media buy 合同
- 临时用工合同范文
- 轮扣式模板支撑架安全专项施工方案
- 酒店装饰装修工程验收表
- 中国行业分类代码表
- 社会组织协会换届选举会议主持词
- 呼吸科(呼吸与危重症医学科)出科理论试题及答案
- 清新个人工作述职报告PPT模板
- 公路工程通用(专用)合同条款汇编.
- 工程施工现场及常用对话场景英语集锦
- 肺癌的靶向治疗法PPT课件.ppt
- 凸透镜成像规律动画演示
- 专卖店空间设计(课堂PPT)
评论
0/150
提交评论