




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学号 012151087 面向对象与多线程综合实验报告学 院计算机科学与技术学院专 业计算机科学与技术班 级计算机1504姓 名指导教师耿枫日期 2016.12.20 1 实验目的运用Java语言,以迭代方式逐步编程实现一个小型档案管理系统。由此了解软件开发的一般过程,深入理解面向对象语言的基本概念和基本原理,理解和掌握继承与多态、异常处理、输入输出流、GUI设计、JDBC数据库操作、网络编程、多线程等技术;熟练掌握在Java语言环境下,上述技术的具体实现方法。2 系统功能与描述本次编程实现的档案管理系统主要是对档案进行管理。课程要求继承与多态、异常处理、输入输出流、GUI设计、JDBC数据库操作、网络编程和多线程内容。我在这次实验中只做到了数据库操作部分,网络编程和多线程的内容没有完成。1.用户分为系统管理人员,档案录入人员和档案浏览人员。用户登录系统需要验证用户名和密码,验证通过之后才能进入对应的档案的界面。2.档案浏览人员可以修改密码、查看文件列表和下载文件。3.档案录入人员可以修改密码、查看文件列表、上传文件和下载文件。4.档案浏览人员可以新增用户、删除用户、修改用户和查看用户列表。同时也可以查看文件列表、上传文件、下载文件和修改密码。5.用户登录之后可以看到设计的GUI界面,上述的功能都整合到了GUI设计中,用户可以实现其操作。6.上传文件操作时可以从本地选择文件然后上传到数据库。下载文件时会显示已经上传的文件的列表,选中一个并选择下载地址后文件从数据库下载到本地。7.关于文件和用户的内容会显示在数据库的列表中。获取的时候也是从数据库获取。 用户登录3 模块设计(完整源码请见光盘)】 1.GUI设计模块 OperatorAdministrator Browser 对于每一个界面的设置,先建立容器框架JFrame和面板JPanel,为了实现GUI应用程序的功能,为了与用户交互,需要在容器上添加各种组件。根据具体的功能要求决定用什么组件。提示信息时用标签(如private JLabel lblFileNum /档案号标签);需要输入少量文本用文本框(如private JTextField txtFileNum / “文件档案号”文本框);需要输入较多文本用文本区域(如private JTextArea txtFileDes/“文件描述”文本区域);如果需要输入密码,可用密码域(private JPasswordField txtPassword;/“密码”文本框)。通过设置布局管理器来设置这些组件的布局。对于相应的按钮对应发生,实现 ActionListener监听者接口。 2. 删除用户模块删除用户是系统管理员的功能,所以只有administrator用户界面中才有此功能(如上GUI中的界面) AdministratorFrame中的删除用户按钮事件。/ 处理“删除用户”按钮事件btnDeleteUser.addActionListener(new ActionListener() Override public void actionPerformed(ActionEvent arg0) / TODO Auto-generated method stubnew DeleteUserFrame(删除用户,AdministratorFrame.this,user); );然后生成一个删除用户界面DeleteUserFrame。(如上GUI中的界面)删除用户界面中有“删除用户”和“重置”两个按钮,“用户名”一个文本框。输入将要删除的用户名,点删除用户按钮,如果用户存在,则会删除成功。/ 处理“删除用户”按钮上的事件btnDeleteUser.addActionListener(new ActionListener() Overridepublic void actionPerformed(ActionEvent e) / TODO Auto-generated method stubtry String name = txtUserName.getText().trim();/得到输入到文本框中的用户名User user = DataProcessing.searchUser(name,null); if ( DataProcessing.deleteUser(name) = true) JOptionPane.showMessageDialog(DeleteUserFrame.this, 删除用户成功!, 删除用户, JOptionPane.INFORMATION_MESSAGE); else JOptionPane.showMessageDialog(DeleteUserFrame.this, 用户名或口令或身份错误, 错误, JOptionPane.ERROR_MESSAGE);/ 弹出出错信息提示框 catch (SQLException ex) JOptionPane.showMessageDialog(DeleteUserFrame.this, 数据库错误 + ex.getMessage(), 错误,JOptionPane.ERROR_MESSAGE); / 弹出出错信息提示框);在事件处理中调用了DataProcessing中searchUser和deleteUser方法。这两个方法与数据库建立了连接。searchUser从数据库中查找是否有输入的用户名,如果有则调用deleteUser从数据库中删除该用户的信息。如果没有查找到相应的用户信息,则会弹出相应的错误提示框。 3.下载文件模块下载用户功能三种身份的用户都可以使用。点击功能列表对应的按钮时则会弹出下载文件的界面 DownLoadFileFrame(如上GUI中的界面)。下载文件界面中有一个文件菜单,调用了DataProcessing中getAllDocs(),从数据库中获得文件信息并显示在列表中。选中列表中的一个文件,然后点击下载文件按钮。/ 下载按钮btnDownload.addActionListener(new ActionListener() public void actionPerformed(ActionEvent arg0) int row = docTable.getSelectedRow();String ID = tableDocDatarow0;filechoose = new JFileChooser();filechoose.showSaveDialog(btnDownload);/ 打开保存文件窗口File file = filechoose.getSelectedFile();/ 获取保存文件String path = file.getAbsolutePath();/ 获取路径try if (user.downloadFile(ID,path) = false) JOptionPane.showMessageDialog(DownLoadFileFrame.this, 下载失败!, 错误, JOptionPane.ERROR_MESSAGE); else / 弹出成功信息JOptionPane.showMessageDialog(DownLoadFileFrame.this, 下载文件成功!, 成功,JOptionPane.INFORMATION_MESSAGE);dispose(); catch (IOException e) JOptionPane.showMessageDialog(DownLoadFileFrame.this, 数据库错误 + e.getMessage(), 错误,JOptionPane.ERROR_MESSAGE); catch (SQLException e) JOptionPane.showMessageDialog(DownLoadFileFrame.this, 数据库错误 + e.getMessage(), 错误,JOptionPane.ERROR_MESSAGE););下载文件时调用了user中的downloadFile方法,可以自己选择保存路径,如果不选择保存到默认路径static String downloadpath=D:OOPdownload如果文件的ID和Path正确,则会下载成功,否则弹出错误信息。4 开发难点与体会 实验刚开始时做继承与多态,异常处理,输入输出流时,老师实验之前都讲了一下实验内容,然后java课上老师会再讲一遍,听过之后理解知识点并不断地进行编译、运行、调试,能独立地完成要求的代码内容。然后GUI设计时,按照老师给的登录界面看懂了,按照类似的方法写了其他的界面,在这一部分的调试过程中出现了比较多的问题。因为这一部分书上理解的不到位,特别是事件处理机制部分应用有较大的问题,后来通过上网查找资料和与室友交流完成了GUI的设计。在写数据库时,上课时对要求不是很明确,而且没有接触过,遇到的问题挺多的。对要实现的功能全部进行了关于数据库的改写。写数据库时部分借鉴了老师给的代码,还有参考了老师给的资料,最终完成了数据库的部分。但是有一个问题没有解决,显示用户列表时与数据库中的用户列表不一致,最终没有调好,实在找不出哪里有问题了。后面的网络编程和多线程的内容由于难度加大,不能完全理解其内容,因此没有完成代码内容,实现功能。 这次实验是对java的一次综合设计,由于这学期刚接触java,除了上课的时间,没有做更多扩展内容,而且运用起来并不熟练,所以到后来遇到的问题越来越多。虽然没能完成所有的功能内容,但是这次实验带给我的收获很大。学会了如何系统地去开发一个系统,以及如何去解决问题的方式。 5 实验总结 本次实验对文件管理系统的设计,完成了其的基本功能。GUI界面设计的排版还有一点问题以及用户列表功能实现的不对。总的来说,完成度不是特别高。希望以后能提高自己的编程能力,学习更多的内容。 从这次实验学到了很多有用的东西,我觉得无论是对编程还是对其他问题都有帮助。首先在编程时,先要自己清晰地明白编程的内容,并有一个大致的内容,不能盲目下手,不然到时候思路紊乱,越写越糟,也达不到想要的标
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 设计公司质量管理制度
- 评估公司岗位管理制度
- 诊所医疗垃圾管理制度
- 诊所药品工作管理制度
- 试剂耗材订购管理制度
- 财务采购流程管理制度
- 财政收支业务管理制度
- 货架护栏仓库管理制度
- 货运物流司机管理制度
- 2025年中国户外地板行业市场全景分析及前景机遇研判报告
- 室内零星维修工程施工方案
- 科技引领冰雪旅游智能设施与游客体验的融合
- 2025年劳动合同样本(电子版)
- 2025年湖南金叶烟草薄片有限责任公司招聘笔试参考题库含答案解析
- 赤峰市水体达标方案 (2019-2020年)
- I-MR(单值-移动极差)控制图
- 《邹忌讽齐王纳谏》比较阅读82篇(历年中考语文文言文阅读试题汇编)(含答案与翻译)(截至2024年)
- 政府应急管理与协调机制
- 转让幼儿园经营权协议书
- 2024全国初中数学竞赛试题及答案
- 除甲醛施工方案
评论
0/150
提交评论