Java课程设计总结报告.docx

上传人:b****7 文档编号:25009197 上传时间:2023-06-03 格式:DOCX 页数:23 大小:1.18MB
下载 相关 举报
Java课程设计总结报告.docx_第1页
第1页 / 共23页
Java课程设计总结报告.docx_第2页
第2页 / 共23页
Java课程设计总结报告.docx_第3页
第3页 / 共23页
Java课程设计总结报告.docx_第4页
第4页 / 共23页
Java课程设计总结报告.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

Java课程设计总结报告.docx

《Java课程设计总结报告.docx》由会员分享,可在线阅读,更多相关《Java课程设计总结报告.docx(23页珍藏版)》请在冰豆网上搜索。

Java课程设计总结报告.docx

Java课程设计总结报告

闽南师范大学计算机学院

Java课程设计总结报告

学生学号

1308190112

姓名

陈志毅

专业

软件工程

班级

13软件1班

所属学期

2014-2015学年第2学期

一、项目开发总结报告

(注:

内容请参考教材:

《Java应用开发与实践》,人民邮电出版社,刘乃琦,苏畅主编此书中第20章或21章或22章课程设计报告的写法。

小乖酒店管理系统

1.需求分析

(1)登录系统:

登录系统可以防止非法用户使用系统。

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

(2)添加入住信息:

用户进入之后菜单栏中“添加入住信息”添加入住人员信息;

(3)修改入住信息:

用户进入之后菜单栏中“修改入住信息”修改入住人员信息;

(4)查看入住信息:

用户进入之后菜单栏中“查看入住信息”查看入住人员信息;

(5)添加用户:

进入系统后可以添加新的管理员的账号和密码

(6)修改密码:

为了提高系统安全新可以修改管理员密码。

2.总体设计

(1)构建开发环境:

操作系统win7,开发语言java,后台数据库SQL2008(SQLServerManagementStudio),开发软件:

eclipse。

(2)系统功能结构图

 

3.数据库设计如图

1.数据库存储入住人信息

2.数据库登陆账号密码

4.公共类设计

(1)公共类用于加载数据库驱动

packagexg.dao;

importjava.sql.Connection;

importjava.sql.DriverManager;

importjavax.swing.JOptionPane;

publicclassDAO{

@SuppressWarnings("unused")

privatestaticDAOdao=newDAO();

/**

*构造方法,加载数据库驱动

*/

publicDAO(){

try{

Class.forName("net.sourceforge.jtds.jdbc.Driver");

}catch(ClassNotFoundExceptione){

JOptionPane.showMessageDialog(null,"数据库驱动加载失败,请将JTDS驱动配置到构建路径中。

\n"+e.getMessage());

}

}

/**

*获得数据库连接的方法

*

*@returnConnection

*/

publicstaticConnectiongetConn(){

try{

Connectionconn=null;

Stringurl="jdbc:

jtds:

sqlserver:

//localhost:

1433/XG";//数据库XG路径

Stringusername="sa";//数据库的用户名

Stringpassword="123456";//数据库密码

conn=DriverManager.getConnection(url,username,password);//建立连接

returnconn;

}catch(Exceptione){

JOptionPane.showMessageDialog(null,"数据库连接失败。

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

"+e.getMessage());

returnnull;

}

}

}

5.程序主要系统开发

(1)系统登录界面

登录系统在绘制背景前先获取该图片用getImage()方法获得image类型的对象,然后获取ImagIcon类型对象,用该构造方法传递URL参数。

主要函数超累构造方法:

调用父类方法,绘制图像:

与数据库连接判断函数:

实现登陆功能:

(主要函数)

privateJPanelgetJPanel(){

if(jPanel==null){

jLabel1=newJLabel();

jLabel1.setBounds(newRectangle(221,176,63,18));

jLabel1.setText("密码:

");

jLabel1.setForeground(Color.WHITE);

jLabel=newJLabel();

jLabel.setBounds(newRectangle(220,141,63,18));

jLabel.setText("用户:

");

jLabel.setForeground(Color.WHITE);

url=UpdateFrame.class.getResource("/image/酒店登陆背景.jpg");//获得图片的URL

image=newImageIcon(url).getImage();//创建图像对象

jPanel=newBackgroundPanel(image);

jPanel.setLayout(null);

jPanel.add(jLabel,null);

jPanel.add(jLabel1,null);

jPanel.add(getTf_username(),null);

jPanel.add(getPf_password(),null);

jPanel.add(getBtn_login(),null);

jPanel.add(getBtn_reset(),null);

jPanel.add(getBtn_exit(),null);

}

returnjPanel;

}

/*举例其中一个按钮设置*/

privateJTextFieldgetTf_username(){

if(tf_username==null){

tf_username=newJTextField();

tf_username.setBounds(newRectangle(290,140,143,22));

tf_username.addActionListener(newjava.awt.event.ActionListener(){

@Override

publicvoidactionPerformed(java.awt.event.ActionEvente){

pf_password.requestFocus();

}

});

}

returntf_username;

}

6.系统主界面

主要函数代码:

等其他看eclipse中的函数。

7.登记入住界面/查看界面

实现过程:

登记入住界面用于酒店登记住户该窗体用到6个文本框和3个命令按钮。

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

packagexg.frame;

importjava.awt.BorderLayout;

importjava.awt.FlowLayout;

//importjava.awt.Font;

importjava.awt.Image;

importjava.awt.Rectangle;

import.URL;

importjavax.swing.ImageIcon;

importjavax.swing.JButton;

importjavax.swing.JFrame;

importjavax.swing.JPanel;

importjavax.swing.JTextField;

importxg.bean.S;

importxg.dao.SQLDao;

importxg.panel.BackgroundPanel;

publicclassAEFrameextendsJFrame{

privatestaticfinallongserialVersionUID=1L;

privateJPaneljContentPane=null;

privateURLurl=null;//声明图片的URL

privateImageimage=null;//声明图像对象

privateBackgroundPaneljPanel=null;//声明自定义背景面板对象

privateJTextFieldtf_A1=null;

privateJTextFieldtf_A2=null;

privateJTextFieldtf_sendCompany=null;

privateJTextFieldtf_timE1=null;

privateJTextFieldtf_timE2=null;

privateJTextFieldtf_timE3=null;

privateJPaneljPanel1=null;

privateJButtonbtn_clear=null;

privateJButtonbtn_save=null;

privateJButtonbtn_return=null;

privateJPanelgetJPanel1(){

if(jPanel1==null){

jPanel1=newJPanel();

jPanel1.setLayout(newFlowLayout());

jPanel1.add(getBtn_clear(),null);

jPanel1.add(getBtn_save(),null);

jPanel1.add(getBtn_return(),null);

}

returnjPanel1;

}

privateJButtongetBtn_clear(){

if(btn_clear==null){

btn_clear=newJButton();

btn_clear.setText("清空");

btn_clear.addActionListener(newjava.awt.event.ActionListener(){

@Override

publicvoidactionPerformed(java.awt.event.ActionEvente){

tf_A1.setText("姓名:

");

tf_A2.setText("房间类型(A/B/C):

");

tf_sendCompany.setText("身份证:

");

tf_timE1.setText("联系电话:

");

tf_timE2.setText("入住时间(年/月/日):

");

tf_timE3.setText("退房日期(年/月/日):

");

tf_A1.requestFocus();

}

});

}

returnbtn_clear;

}

privateJButtongetBtn_save(){

if(btn_save==null){

btn_save=newJButton();

btn_save.setText("保存");

btn_save.addActionListener(newjava.awt.event.ActionListener(){

@Override

publicvoidactionPerformed(java.awt.event.ActionEvente){

StringBufferbuffer=newStringBuffer();

Sm=newS();

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()+","+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(newString(buffer));

m.setExpressSize(jPanel.getWidth()+","+jPanel.getHeight());

SQLDao.insertExpress(m);

}

});

}

returnbtn_save;

}

privateJButtongetBtn_return(){

if(btn_return==null){

btn_return=newJButton();

btn_return.setText("返回");

btn_return.addActionListener(newjava.awt.event.ActionListener(){

@Override

publicvoidactionPerformed(java.awt.event.ActionEvente){

dispose();

}

});

}

returnbtn_return;

}

publicAEFrame(){

super();

initialize();

}

privatevoidinitialize(){

this.setSize(617,413);

this.setTitle("登记入住界面");

this.setContentPane(getJContentPane());

}

privateJPanelgetJContentPane(){

if(jContentPane==null){

jContentPane=newJPanel();

jContentPane.setLayout(newBorderLayout());

jContentPane.add(getJPanel(),BorderLayout.CENTER);

jContentPane.add(getJPanel1(),BorderLayout.SOUTH);

}

returnjContentPane;

}

privateBackgroundPanelgetJPanel(){

if(jPanel==null){

url=AEFrame.class.getResource("/image/登记界面.jpg");//获得图片的URL

image=newImageIcon(url).getImage();//创建图像对象

jPanel=newBackgroundPanel(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_timE3(),null);

}

returnjPanel;

}

privateJTextFieldgetTf_A1(){

if(tf_A1==null){

tf_A1=newJTextField("姓名:

");

tf_A1.setBounds(newRectangle(114,114,139,22));

}

returntf_A1;

}

privateJTextFieldgetTf_A2(){

if(tf_A2==null){

tf_A2=newJTextField();

tf_A2.setBounds(newRectangle(347,114,131,22));

tf_A2.setText("房间类型(A/B/C):

");

}

returntf_A2;

}

privateJTextFieldgetTf_sendCompany(){

if(tf_sendCompany==null){

tf_sendCompany=newJTextField("身份证:

");

tf_sendCompany.setBounds(newRectangle(114,141,362,22));

}

returntf_sendCompany;

}

privateJTextFieldgetTf_timE1(){

if(tf_timE1==null){

tf_timE1=newJTextField("联系电话:

");

tf_timE1.setBounds(newRectangle(114,179,362,22));

}

returntf_timE1;

}

privateJTextFieldgetTf_timE2(){

if(tf_timE2==null){

tf_timE2=newJTextField("入住时间(年/月/日):

");

tf_timE2.setBounds(newRectangle(114,205,362,22));

}

returntf_timE2;

}

privateJTextFieldgetTf_timE3(){

if(tf_timE3==null){

tf_timE3=newJTextField("退房日期(年/月/日):

");

tf_timE3.setBounds(newRectangle(114,230,362,22));

}

returntf_timE3;

}

}

8.修改登记入住界面

修改入住界面多了一个可以修改的按钮,修改后的数据可以保存到数据库中并且显示

privateJButtongetBtn_update(){

if(btn_update==null){

btn_update=newJButton();

btn_update.setText("修改");

btn_update.addActionListener(newjava.awt.event.ActionListener(){

publicvoidactionPerformed(java.awt.event.ActionEvente){

StringBufferbuffer=newStringBuffer();

Sm=newS();

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().trim()+"|"+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()+"/");

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);

}

}

});

}

returnbtn_update;

}

数据库中修改连接代码

publicstaticvoidupdateExpress(Sm){

Connectionconn=null;

PreparedStatementps=null;

try{

conn=DAO.getConn();

ps=conn

.prepareStatement("updatetb_receiveSendMessagesetA1=?

A2=?

A3=?

timE=?

ControlPosition=?

expressSize=?

whereid=?

");

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