1、Java课程设计总结报告 闽南师范大学计算机学院Java课程设计总结报告学生学号1308190112姓名陈志毅专 业软件工程班 级13软件1班所属学期2014 -2015 学年第 2 学期一、 项目开发总结报告(注:内容请参考教材: Java应用开发与实践,人民邮电出版社,刘乃琦,苏畅主编此书中第20章或21章或22章 课程设计报告的写法。)小乖酒店管理系统1.需求分析(1)登录系统: 登录系统可以防止非法用户使用系统。只有输入合法用户才能登录。(2)添加入住信息: 用户进入之后菜单栏中“添加入住信息”添加入住人员信息;(3)修改入住信息: 用户进入之后菜单栏中“修改入住信息”修改入住人员信息
2、;(4)查看入住信息: 用户进入之后菜单栏中“查看入住信息”查看入住人员信息;(5)添加用户: 进入系统后可以添加新的管理员的账号和密码(6)修改密码: 为了提高系统安全新可以修改管理员密码。2.总体设计(1)构建开发环境:操作系统win7,开发语言 java,后台数据库SQL2008 (SQL Server Management Studio),开发软件:eclipse。(2)系统功能结构图3.数据库设计如图 1.数据库存储入住人信息 2.数据库登陆账号密码4.公共类设计(1)公共类用于加载数据库驱动package xg.dao;import java.sql.Connection;impo
3、rt java.sql.DriverManager;import javax.swing.JOptionPane;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, 数据库驱动加载失败
4、,请将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.getConne
5、ction(url, username, password); / 建立连接 return conn; catch (Exception e) JOptionPane.showMessageDialog(null, 数据库连接失败。n请检查数据库用户名和密码是否正确。 + e.getMessage(); return null; 5.程序主要系统开发(1)系统登录界面登录系统在绘制背景前先获取该图片用getImage()方法获得image类型的对象,然后获取ImagIcon类型对象,用该构造方法传递URL参数。主要函数超累构造方法:调用父类方法,绘制图像:与数据库连接判断函数:实现登陆功能:(
6、主要函数) private JPanel getJPanel() if (jPanel = null) jLabel1 = new JLabel(); jLabel1.setBounds(new Rectangle(221, 176, 63, 18); jLabel1.setText(密 码:); jLabel1.setForeground(Color.WHITE); jLabel = new JLabel(); jLabel.setBounds(new Rectangle(220, 141, 63, 18); jLabel.setText(用 户:); jLabel.setForegroun
7、d(Color.WHITE); url = UpdateFrame.class.getResource(/image/酒店登陆背景.jpg); / 获得图片的URL image = new ImageIcon(url).getImage(); / 创建图像对象 jPanel = new BackgroundPanel(image); jPanel.setLayout(null); jPanel.add(jLabel, null); jPanel.add(jLabel1, null); jPanel.add(getTf_username(), null); jPanel.add(getPf_pa
8、ssword(), null); jPanel.add(getBtn_login(), null); jPanel.add(getBtn_reset(), null); jPanel.add(getBtn_exit(), null); return jPanel; /*举例其中一个按钮设置*/ private JTextField getTf_username() if (tf_username = null) tf_username = new JTextField(); tf_username.setBounds(new Rectangle(290, 140, 143, 22); tf_u
9、sername.addActionListener(new java.awt.event.ActionListener() Override public void actionPerformed(java.awt.event.ActionEvent e) pf_password.requestFocus(); ); return tf_username; 6.系统主界面主要函数代码:等其他看eclipse中的函数。7.登记入住界面/查看界面实现过程:登记入住界面用于酒店登记住户该窗体用到6个文本框和3个命令按钮。在sqldao中可以进行判断输入的数据是否符合要求或者是否有信息没有填写。pac
10、kage xg.frame;import java.awt.BorderLayout;import java.awt.FlowLayout;/import java.awt.Font;import java.awt.Image;import java.awt.Rectangle;import .URL;import javax.swing.ImageIcon;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.JTextField;import xg.
11、bean.S;import xg.dao.SQLDao;import xg.panel.BackgroundPanel;public class AEFrame extends JFrame private static final long serialVersionUID = 1L; private JPanel jContentPane = null; private URL url = null;/ 声明图片的URL private Image image = null;/ 声明图像对象 private BackgroundPanel jPanel = null;/ 声明自定义背景面板
12、对象 private JTextField tf_A1 = null; private JTextField tf_A2 = null; private JTextField tf_sendCompany = null; private JTextField tf_timE1 = null; private JTextField tf_timE2 = null; private JTextField tf_timE3 = null; private JPanel jPanel1 = null; private JButton btn_clear = null; private JButton
13、btn_save = null; private JButton btn_return = null; private JPanel getJPanel1() if (jPanel1 = null) jPanel1 = new JPanel(); jPanel1.setLayout(new FlowLayout(); jPanel1.add(getBtn_clear(), null); jPanel1.add(getBtn_save(), null); jPanel1.add(getBtn_return(), null); return jPanel1; private JButton get
14、Btn_clear() if (btn_clear = null) btn_clear = new JButton(); btn_clear.setText(清 空); btn_clear.addActionListener(new java.awt.event.ActionListener() Override public void actionPerformed(java.awt.event.ActionEvent e) tf_A1.setText(姓名:); tf_A2.setText(房间类型(A/B/C):); tf_sendCompany.setText(身份证:); tf_ti
15、mE1.setText(联系电话:); tf_timE2.setText(入住时间(年/月/日):); tf_timE3.setText(退房日期(年/月/日):); tf_A1.requestFocus(); ); return btn_clear; private JButton getBtn_save() if (btn_save = null) btn_save = new JButton(); btn_save.setText(保 存); btn_save.addActionListener(new java.awt.event.ActionListener() Override p
16、ublic void actionPerformed(java.awt.event.ActionEvent e) StringBuffer buffer = new StringBuffer(); S m = new S(); m.setA1(tf_A1.getText().trim(); m.setA2(tf_A2.getText().trim(); m.setA3(tf_sendCompany.getText().trim(); buffer.append(tf_A1.getX() + , + tf_A1.getY() + /); buffer.append(tf_A2.getX() +
17、, + tf_A2.getY() + /); buffer.append(tf_sendCompany.getX() + , + tf_sendCompany.getY() + /); buffer.append(tf_timE1.getX() + , + tf_timE1.getY() + /); buffer.append(tf_timE2.getX() + , + tf_timE2.getY() + /); buffer.append(tf_timE3.getX() + , + tf_timE3.getY() + /); m.setControlPosition(new String(b
18、uffer); m.setExpressSize(jPanel.getWidth() + , + jPanel.getHeight(); SQLDao.insertExpress(m); ); return btn_save; private JButton getBtn_return() if (btn_return = null) btn_return = new JButton(); btn_return.setText(返 回); btn_return.addActionListener(new java.awt.event.ActionListener() Override publ
19、ic void actionPerformed(java.awt.event.ActionEvent e) dispose(); ); return btn_return; public AEFrame() super(); initialize(); private void initialize() this.setSize(617, 413); this.setTitle(登记入住界面); this.setContentPane(getJContentPane(); private JPanel getJContentPane() if (jContentPane = null) jCo
20、ntentPane = new JPanel(); jContentPane.setLayout(new BorderLayout(); jContentPane.add(getJPanel(), BorderLayout.CENTER); jContentPane.add(getJPanel1(), BorderLayout.SOUTH); return jContentPane; private BackgroundPanel getJPanel() if (jPanel = null) url = AEFrame.class.getResource(/image/登记界面.jpg); /
21、 获得图片的URL image = new ImageIcon(url).getImage(); / 创建图像对象 jPanel = new BackgroundPanel(image); jPanel.setLayout(null); jPanel.add(getTf_A1(), null); jPanel.add(getTf_A2(), null); jPanel.add(getTf_sendCompany(), null); jPanel.add(getTf_timE1(), null); jPanel.add(getTf_timE2(), null); jPanel.add(getTf
22、_timE3(), null); return jPanel; private JTextField getTf_A1() if (tf_A1 = null) tf_A1 = new JTextField(姓名:); tf_A1.setBounds(new Rectangle(114, 114, 139, 22); return tf_A1; private JTextField getTf_A2() if (tf_A2 = null) tf_A2 = new JTextField(); tf_A2.setBounds(new Rectangle(347, 114, 131, 22); tf_
23、A2.setText(房间类型(A/B/C):); return tf_A2; private JTextField getTf_sendCompany() if (tf_sendCompany = null) tf_sendCompany = new JTextField(身份证:); tf_sendCompany.setBounds(new Rectangle(114, 141, 362, 22); return tf_sendCompany; private JTextField getTf_timE1() if (tf_timE1 = null) tf_timE1 = new JTex
24、tField(联系电话:); tf_timE1.setBounds(new Rectangle(114, 179, 362, 22); return tf_timE1; private JTextField getTf_timE2() if (tf_timE2 = null) tf_timE2 = new JTextField(入住时间(年/月/日):); tf_timE2.setBounds(new Rectangle(114, 205, 362, 22); return tf_timE2; private JTextField getTf_timE3() if (tf_timE3 = nu
25、ll) tf_timE3 = new JTextField(退房日期(年/月/日):); tf_timE3.setBounds(new Rectangle(114, 230, 362, 22); return tf_timE3; 8.修改登记入住界面修改入住界面多了一个可以修改的按钮,修改后的数据可以保存到数据库中并且显示 private JButton getBtn_update() if (btn_update = null) btn_update = new JButton(); btn_update.setText(修 改); btn_update.addActionListener(
26、new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent e) StringBuffer buffer = new StringBuffer(); S m = new S(); m.setId(id); m.setA1(tf_A1.getText().trim(); m.setA2(tf_A2.getText().trim(); m.setA3(tf_sendCompany.getText().trim(); m.settimE(tf_timE1.getText().tr
27、im() + | + tf_timE2.getText().trim() + | + tf_timE3.getText().trim(); buffer.append(tf_A1.getX() + , + tf_A1.getY() + /); buffer.append(tf_A2.getX() + , + tf_A2.getY() + /); buffer.append(tf_sendCompany.getX() + , + tf_sendCompany.getY() + /); buffer.append(tf_timE1.getX() + , + tf_timE1.getY() + /)
28、; buffer.append(tf_timE2.getX() + , + tf_timE2.getY() + /); buffer.append(tf_timE3.getX() + , + tf_timE3.getY() + /); SQLDao.updateExpress(m); queryResultVector = SQLDao.queryAllExpress(); if (queryResultVector != null) m = queryResultVector.get(queryRow); ); return btn_update; 数据库中修改连接代码 public sta
29、tic void updateExpress(S m) Connection conn = null; PreparedStatement ps = null; try conn = DAO.getConn(); ps = conn .prepareStatement(update tb_receiveSendMessage set A1=?,A2=?,A3=?,timE=?,ControlPosition=?,expressSize=? where id = ?); ps.setString(1, m.getA1(); ps.setString(2, m.getA2(); ps.setString(3, m.getA3(); ps.setString(4, m.gettimE(); ps.setS
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1