当前位置:文档之家› Java课程设计总结报告

Java课程设计总结报告

闽南师范大学计算机学院Java 课程设计总结报告、项目开发总结报告 《Java 应用开发与实践》,人民邮电出版社,刘乃琦,苏畅主编 此书中第20章或21章或22章 课程设计报告的写法。

)小乖酒店管理系统1. 需求分析(1)登录系统:登录系统可以防止非法用户使用系统。

只有输入合法用户才能登录。

(2 )添加入住信息:用户进入之后菜单栏中“添加入住信息”添加入住人员信息; (3 )修改入住信息:用户进入之后菜单栏中“修改入住信息”修改入住人员信息; (4 )查看入住信息:用户进入之后菜单栏中“查看入住信息”查看入住人员信息; (5)添加用户:进入系统后可以添加新的管理员的账号和密码 (6 )修改密码:为了提高系统安全新可以修改管理员密码。

2. 总体设计(1)构建开发环境:操作系统 win7,开发语言java,后台数据库 SQL2008 ( SQL Server Management Studio ),开发软件:eclipse 。

(2 )系统功能结构图学生学号 1308190112 专 业软件工程 姓名 陈志毅 13软件1班所属学期2014 -2015 学年第2学期 (注:内容请参考教材:package xg.dao;import java.sql.Connection; import java.sql.DriverManager;import javax.swing .JO ptionPane;■ # _;uEiaaHlt«jpg&岀显94 ^Oljpa11 1L Jf93佃】j阳j y 哼**J J Sj y^aJ UW.jff<K&■ 9■切J jT 口亠口卫曲P G DAQU EQiLD-iHajiwaJ Ul#i&4-M s j*-F4■* ■ rglrim^j 眩i Ch¥ckfi-^-TwJ_ LoginFfJ 11嗣4妬p齢*口伸帥强皿毎<4」LwhaillLpn^ 厚*3a^pWlJ dn»^iMh * 4l v^M-> B 5«f4UwBunsT<MrLjd4上Tm *^L iHf fWi i -i-litk LllilrA ib_»&.CiwMt»j^bjKJ^LEir d i^- libr MS-429>3. 数据库设计如图wt rrtHilitH 3■mAl心dia*朗JA2s-arflWU]}B«EbiE wdurtlOO]BjwdurRJi El 1•数据库存储入住人信息c2•数据库登陆账号密码4.公共类设计丹9uemwwrftH'Brdvir(iO)vvt?wrC?a)(1)公共类用于加载数据库驱动public class DAO {@SuppressWarnings("unused")private static DAO dao = new DAO();/*** 构造方法,加载数据库驱动*/public DAO() {try {Class.forName("net.sourceforge.jtds.jdbc.Driver");} catch (ClassNotFoundException 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/XG"; // 数据库XG路径String username = "sa"; // 数据库的用户名String password = "123456"; // 数据库密码conn = DriverManager.getConnection(url, username, password); // 建立连接return conn;} catch (Exception e) {JOptionPane.showMessageDialog(null," 数据库连接失败。

\n请检查数据库用户名和密码是否正确。

“ + e.getMessage());return null;}}}5. 程序主要系统开发(1)系统登录界面登录系统在绘制背景前先获取该图片用getImage()方法获得image类型的对象,然后获取ImagIcon类型对象,用该构造方法传递URL参数。

主要函数超累构造方法:/*举例其中一个按钮设置*/private JTextField getTf_user name() {if (tf_user name == n ull) {tf_user name = new JTextField();tf_username.setBou nds( new Recta ngle(290, 140, 143, 22)); tf_username.addActio nListe ner(new java.awt.eve nt.Act ion Liste ner() { @Overridepublic void action Performed(java.awt.eve nt.Act ion Eve nt e) { pf_password.requestFocus(); } });}return tf_user name; }6. 系统主界面 import java.awt.Recta ngle;import java .n et.URL;import javax.swi ng.lm agelc on; import javax.swi ng.J Butt on;主要函数代码:fiii* ・ HrtTitUr■BhLi - settontenCFanff (get JCnmlentPanel 卄匚UrtMl'Qr IFivr |If» 7 冲 |J|'-3M-iiLavLaiVaniaswi l!<rnw i«Fn-L(_■j ;ri<HMdl.TJPMM]等其他看eclipse 中的函数。

7. 登记入住界面/查看界面package xg.frame;import java.awt.BorderLayout; import java.awt.FlowLayout;//import java.awt.F ont; frivBtt veld 讣讥1«1応便"(实现过程:登记入住界面用于酒店登记住户该窗体用到6个文本框和3个命令按钮。

在sqldao 中可以进行判断输入的数据是否符合要求或者是否有信息没有填写。

jpane-.add(gefrrnmE2p n u ==jpane-.add(gefrrnmE3pn u =privaCDJTexmie-dg e H r A l o 宀if (产AlH H n u __)宀 产Al H new JTexmie_d(=辱役-£ 产Al.se60ounds(new Reaang-e(l4y147 139』22)=refurn 产Al 八PrivaCDJTexmie-dg e H r A 2()宀if (产A2H H n u __)宀 产A2 HnewJTexfFie-d()八产A2.se60ounds(newReaang-e(347y 147131』22)= 产A2.serrexf(=il al M 睦(A 、B 、C ) 1=refurn 产A NPrivaCDJTexmie-dgeHrsendcompanyo 宀if(产sendCompanyH Hnu=)宀 产sendCompanyHnew JTexmie-d(= =)八 产sendcompany.se5ounds(new Reaang-e(l4y141』362』22)=refurn 产sendCompany 八PrivaCDJTexmie-dgeHrfimElo宀if (产fimElH Hnu=)宀产 fimEl H newJTexmie-d(=漿洲曲®-=);产fimEl.se60ounds(newR e a a n g -e (l 4"179』362』22)x产八PrivaCDJTexmie-dgeHrfimE2()宀if(产fimE2 H H nu=)宀 严HmE2 H newJTexlmie_d(=>lm RWJ (m K d ) ptf_timE2.setBou nds( new Recta ngle(114, 205, 362, 22));}return tf_timE2;}private JTextField getTf_timE3() {if (tf_timE3 == null) {tf_timE3 = new JTextField(” 退房日期(年/月/日):”); tf_timE3.setBounds(new Rectangle(114, 230,362, 22));}return tf_timE3;}}8. 修改登记入住界面:上一:ft T-i ■ Bl ' ifi H |修改入住界面多了一个可以修改的按钮,修改后的数据可以保存到数据库中并且显示private JButton getBtn_update() {if (bt n_update == nu II) {btn _update = new JButt on(); btn_update.setText("修改");btn _update.addActi on Liste ner(new java.awt.eve nt.Act ion Liste ner() {public void acti on Performed(java.awt.eve nt.Acti onEvent e) {Stri ngBuffer buffer = new Stri ngBuffer();S m = new S();m.setId(id);m.setA1(tf_A1.getText().trim());m.setA2(tf_A2.getText().trim());m.setA3(tf_se ndCompa ny.getText().trim());m.settimE(tf_timE1.getText().trim() + "|" + tf_timE2.getText().trim() + "|" + tf_timE3.getText().trim());buffer.appe nd(tf_A1.getX() + "," + tf_A1.getY() + "/");buffer.appe nd(tf_A2.getX() + "," + tf_A2.getY() + "/");buffer.appe nd(tf se ndCompa ny .getX() + "," + tf se ndCompa ny .getY() + "/");buffer.appe nd(tf_timE1.getX() + "," + tf_timE1.getY() + "/"); buffer.append(tf_timE2.getX() + "," + tf_timE2.getY() + "/"); buffer.appe nd(tf_timE3.getX() + "," +tf_timE3.getY() + "/");SQLDao.updateExpress(m); queryResultVector = SQLDao.queryAIIExpress(); if(queryResultVector != n ull) {m = queryResultVector.get(queryRow);}}});} return btn_update;}数据库中修改连接代码public static void updateExpress(S m) { Connection conn = n ull;PreparedStateme nt ps = n ull;try {co nn = DAO.getCo nn();ps = conn.prepareStateme nt("update tb_receiveSe ndMessageset A仁?,A2=?,A3=?,timE=?,Co ntrolPositio n=?,expressSize=? where id = ?");ps.setString(1, m.getA1());ps.setString(2, m.getA2());ps.setString(3, m.getA3());ps.setString(4, m.gettimE());ps.setStri ng(5, m.getC on trolPositi on());ps.setString(6, m.getExpressSize());ps.setI nt(7, m.getld());int flag = ps.executeUpdate();if (flag > 0) {JOptionPane.showMessageDialog(null,"修改成功。

相关主题