ImageVerifierCode 换一换
格式:DOCX , 页数:103 ,大小:1.14MB ,
资源ID:3295973      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3295973.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(java蓝宇快递打印系统.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

java蓝宇快递打印系统.docx

1、java蓝宇快递打印系统 综合实验 蓝宇快递打印系统文档 *一 综合实验问题的需求分析 1.1 实验内容和实验目的 1.2 问题描述 1.3设计要求和功能描述二 总体设计 2.1 系统目标 2.2 构建开发环境 2.3系统功能结构三 数据库设计 3.1 数据库概要说明 3.2 数据库E-R图 3.3 数据库结构四 公共类设计 4.1公共类DAO 4.2公共类SaveUserStateTool五 程序主要系统开发六 调试与测试实验结果七 实验总结参考文献附录(源代码) 一 综合实验问题的需求分析 1.1 实验内容和实验目的(1) 开发一个快递打印系统,以支持表单内容的记录与打印。(2) 通过本次

2、综合实验,更进一步的了解和掌握Java语言。 1.2 问题描述 随着社会的发展,人们的生活节奏不断加快。为了节约宝贵的时间,快递业务应运而生。在快递过程中,需要填写大量的表单。如果使用计算机来辅助填写及保存相应的记录,则能大大提高快递的效率。因此,需要开发一个快递打印系统。该系统应该支持快速录入关键信息,例如发件人和收件人的姓名、电话和地址等,快递物品的信息等。并将其保存在数据库中以便以后查看。 1.3设计要求和功能描述 通过以上对快递系统的了解,要求其具备如下功能:(1)具有安全可靠的登陆系统。(2)能够添加快递单信息。(3)可以修改快递单信息。(4)可以打印快递单信息。 (5)进入系统后,

3、可以通过“添加用户”功能添加新的用户信息。(6)能修改密码,提高系统的安全性。 二 总体设计 2.1 系统目标 通过对系统进行深入的分析得知,本系统需要实现以下目标: (1) 操作简单方便,界面整洁大方。 (2)保证系统的安全性。 (3)方便添加和修改快递信息。 (4)完成快递单的打印功能。 (5)支持用户添加和密码修改操作。 2.2 构建开发环境 操作系统:Windows 7 旗舰版 JDK版本:jdk-7u3-windows-i586 IDE版本:Indigo Service Release 2 开发语言:Java 后台数据库:SQL Server 2005 分辨率:最佳效果1024768

4、像素 2.3系统功能结构 在需求分析的基础上,确定了该系统需要实现的功能。根据功能设计出该系统的功能结构图,如下图所示。 三 数据库设计 3.1 数据库概要说明 本系统采用SQL Server 2005作为后台数据库。根据需求分析和功能结构图,为整个系统设计了两个数据表,分别用于存储快递单信息和用户信息。根据这两个表的存储信息和功能,分别设计对应的E-R图和数据表。 3.2 数据库E-R图 快递单信息表tb_receiveSendMessage的E-R图,如左图所示。用户信息表tb_user的E-R图,如右图所示。 3.3 数据库结构 四 公共类设计(1)公共类DAO,用于加载数据库驱动及建立

5、数据库连接。具体设计如下:package com.zzk.dao;import java.sql.Connection;import java.sql.DriverManager;import javax.swing.JOptionPane;public class DAO private static DAO dao = new DAO(); / 声明DAO类的静态实例 /* * 构造方法,加载数据库驱动 */ public DAO() try Class.forName(net.sourceforge.jtds.jdbc.Driver); / 加载数据库驱动 catch (ClassNot

6、FoundException e) JOptionPane.showMessageDialog(null, 数据库驱动加载失败,请将JTDS驱动配置到构建路径中。n + e.getMessage(); /* * 获得数据库连接的方法 * * return Connection */ public static Connection getConn() try Connection conn = null; / 定义数据库连接 String url = jdbc:jtds:sqlserver:/localhost:1433/db_ExpressPrint; / 数据库db_Express的URL

7、 String username = sa; / 数据库的用户名 String password = ; / 数据库密码 conn = DriverManager.getConnection(url, username, password); / 建立连接 return conn; / 返回连接 catch (Exception e) JOptionPane.showMessageDialog(null, 数据库连接失败。n请检查数据库用户名和密码是否正确。 + e.getMessage(); return null; (2)公共类SaveUserStateTool,用于保存登录用户的用户名和

8、密码。该类主要用于修改用户的密码。 具体实现如下:package com.zzk.tool;public class SaveUserStateTool private static String username = null; private static String password = null; public static void setUsername(String username) SaveUserStateTool.username = username; public static String getUsername() return username; public

9、 static void setPassword(String password) SaveUserStateTool.password = password; public static String getPassword() return password; 五 程序主要系统开发1. 系统登录系统设计(1)用于封装用户输入的登录信息的User设计:(2)用于封装用户名和密码进行验证的UserDao类设计:2. 系统主界面系统设计3. 添加快递信息系统设计4. 修改快递信息系统设计5. 打印快递单与打印设置系统设计6. 添加用户窗体系统设计7. 修改用户密码窗体系统设计 六 调试与测试实验

10、结果 ( 附注: 用户使用说明及实验结果如下: )(1)程序说明本程序使用SQL Server 2005数据库开发,导入项目以后需要再对数据库进行配置,配置完数据库运行项目启动文件src/com/zzk/frame/LoginFrame.java就可以运行程序了。(2)操作流程(1)启动程序以后,显示蓝宇快递打印系统登录界面,如图1 所示:图1 登录界面(2)输入用户、与密码之后,进入主界面,如图2所示,系统默认用户名mr,密码mrsoft。(3)进入主界面可以对快递单进行各种操作,如图3所示: 七 实验总结通过本次综合实验,我进一步了解和掌握了Java中类的概念和定义,继承和接口的概念和语法

11、。通过实验,我也进一步了解和掌握了Java中GUI的实现和用法以及数据库等基本操作。当然,在实验的过程中,也遇到了很多问题,但在老师和同学的帮助和指导下终于解决了。对于本次的打印系统综合实验,不仅使我认识到了自己在Java语言学习中的不足,而且增进了我对Java语言学习和编程的兴趣和能力。也为后续Java的学习打下了一个良好的基础。参考文献:(1)Java应用开发与实践-刘乃琦 苏畅 主编。(2)Java从初学到精通-辛立伟 张帆 编著附录(源代码如下:)package 快递打印系统;import java.awt.*;import javax.swing.*;import javax.swi

12、ng.SwingUtilities;import javax.swing.WindowConstants;import javax.swing.ImageIcon;import .URL;import java.awt.FlowLayout;import java.awt.print.PageFormat;import java.awt.print.Printable;import java.awt.print.PrinterJob;import java.util.Vector;import java.awt.Graphics;import java.util.Arrays;import j

13、ava.sql.*;import java.sql.SQLException;import javax.swing.JOptionPane; import java.sql.DriverManager;/class User private String name = null; private String pwd = null; private String okPwd = null; public String getName() return name; public void setName(String name) this.name = name; public String g

14、etPwd() return pwd; public void setPwd(String pwd) this.pwd = pwd; public void setOkPwd(String okPwd) this.okPwd = okPwd; public String getOkPwd() return okPwd; class ExpressMessage private int id = 0; private String sendName = null; private String sendTelephone = null; private String sendCompary =

15、null; private String sendAddress = null; private String sendPostcode = null; private String receiveName = null; private String receiveTelephone = null; private String receiveCompary = null; private String receiveAddress = null; private String receivePostcode = null; private String ControlPosition =

16、null; / 快递单上添加信息的组件位置(坐标) private String expressSize = null; / 快递单的尺寸(大小) public int getId() return id; public void setId(int id) this.id = id; public String getSendName() return sendName; public void setSendName(String sendName) this.sendName = sendName; public String getSendTelephone() return send

17、Telephone; public void setSendTelephone(String sendTelephone) this.sendTelephone = sendTelephone; public String getSendCompary() return sendCompary; public void setSendCompary(String sendCompary) this.sendCompary = sendCompary; public String getSendAddress() return sendAddress; public void setSendAd

18、dress(String sendAddress) this.sendAddress = sendAddress; public String getSendPostcode() return sendPostcode; public void setSendPostcode(String sendPostcode) this.sendPostcode = sendPostcode; public String getReceiveName() return receiveName; public void setReceiveName(String receiveName) this.rec

19、eiveName = receiveName; public String getReceiveTelephone() return receiveTelephone; public void setReceiveTelephone(String recieveTelephone) this.receiveTelephone = recieveTelephone; public String getReceiveCompary() return receiveCompary; public void setReceiveCompary(String recieveCompary) this.r

20、eceiveCompary = recieveCompary; public String getReceiveAddress() return receiveAddress; public void setReceiveAddress(String receiveAddress) this.receiveAddress = receiveAddress; public String getReceivePostcode() return receivePostcode; public void setReceivePostcode(String receivePostcode) this.r

21、eceivePostcode = receivePostcode; public String getControlPosition() return ControlPosition; public void setControlPosition(String controlPosition) ControlPosition = controlPosition; public String getExpressSize() return expressSize; public void setExpressSize(String expressSize) this.expressSize =

22、expressSize; class ExpressMessageDao public static void insertExpress(ExpressMessage m) if (m.getSendName() = null | m.getSendName().trim().equals() JOptionPane.showMessageDialog(null, 寄件人信息必须填写。); return; if (m.getSendTelephone() = null | m.getSendTelephone().trim().equals() JOptionPane.showMessage

23、Dialog(null, 寄件人信息必须填写。); return; if (m.getSendCompary() = null | m.getSendCompary().trim().equals() JOptionPane.showMessageDialog(null, 寄件人信息必须填写。); return; if (m.getSendAddress() = null | m.getSendAddress().trim().equals(|) JOptionPane.showMessageDialog(null, 寄件人信息必须填写。); return; if (m.getSendPost

24、code() = null | m.getSendPostcode().trim().equals() JOptionPane.showMessageDialog(null, 寄件人信息必须填写。); return; if (m.getReceiveName() = null | m.getReceiveName().trim().equals() JOptionPane.showMessageDialog(null, 收件人信息必须填写。); return; if (m.getReceiveTelephone() = null | m.getReceiveTelephone().trim()

25、.equals() JOptionPane.showMessageDialog(null, 收件人信息必须填写。); return; if (m.getReceiveCompary() = null | m.getReceiveCompary().trim().equals() JOptionPane.showMessageDialog(null, 收件人信息必须填写。); return; if (m.getReceiveAddress() = null | m.getReceiveAddress().trim().equals(|) JOptionPane.showMessageDialog

26、(null, 收件人信息必须填写。); return; if (m.getReceivePostcode() = null | m.getReceivePostcode().trim().equals() JOptionPane.showMessageDialog(null, 收件人信息必须填写。); return; Connection conn = null; / 声明数据库连接 / 声明PreparedStatement对象 PreparedStatement ps = null; try conn = DAO.getConn(); / 获得数据库连接 / 创建PreparedState

27、ment对象,并传递SQL语句 ps = conn .prepareStatement(insert into tb_receiveSendMessage (sendName,sendTelephone,sendCompary,sendAddress,sendPostcode,receiveName,recieveTelephone,recieveCompary,receiveAddress,receivePostcode,ControlPosition,expressSize) values(?,?,?,?,?,?,?,?,?,?,?,?); ps.setString(1, m.getSen

28、dName(); / 为参数赋值 ps.setString(2, m.getSendTelephone(); ps.setString(3, m.getSendCompary(); ps.setString(4, m.getSendAddress(); ps.setString(5, m.getSendPostcode(); ps.setString(6, m.getReceiveName(); / 为参数赋值 ps.setString(7, m.getReceiveTelephone(); ps.setString(8, m.getReceiveCompary(); ps.setString

29、(9, m.getReceiveAddress(); ps.setString(10, m.getReceivePostcode(); ps.setString(11, m.getControlPosition(); / 为参数赋值 ps.setString(12, m.getExpressSize(); int flag = ps.executeUpdate(); if (flag 0) JOptionPane.showMessageDialog(null, 添加成功。); else JOptionPane.showMessageDialog(null, 添加失败。); catch (Exception ex) JOpti

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1