Java图书管理系统课程设计.docx

上传人:b****4 文档编号:4408360 上传时间:2022-12-01 格式:DOCX 页数:39 大小:600.50KB
下载 相关 举报
Java图书管理系统课程设计.docx_第1页
第1页 / 共39页
Java图书管理系统课程设计.docx_第2页
第2页 / 共39页
Java图书管理系统课程设计.docx_第3页
第3页 / 共39页
Java图书管理系统课程设计.docx_第4页
第4页 / 共39页
Java图书管理系统课程设计.docx_第5页
第5页 / 共39页
点击查看更多>>
下载资源
资源描述

Java图书管理系统课程设计.docx

《Java图书管理系统课程设计.docx》由会员分享,可在线阅读,更多相关《Java图书管理系统课程设计.docx(39页珍藏版)》请在冰豆网上搜索。

Java图书管理系统课程设计.docx

Java图书管理系统课程设计

湖南科技学院

课程设计报告

 

课程名称:

面向对象程序设计课程设计

课程设计题目:

图书管理系统

系:

数学与计算科学系

专业:

信息与计算科学

年级、班:

2009级信计1班

姓名:

谭鄱仑

学号:

200905002109

指导教师:

牛志毅

职称:

讲师

 

2012年6月

课题说明

1、设计一个图书信息管理系统

2、图书信息包括图书编号、书名、作者、出版社、出版日期、图书简介及图书类别等。

3、本系统功能描述:

图书信息录入功能;

图书信息浏览功能;

查询功能(至少一种查询方式);

图书信息修改功能;

及其它你认为必要的功能。

程序设计思路

程序较小,分为七个个模块,分别实现:

登录,图书查询修改,图书入库,图书修改,图书概览,修改密码,学生信息查询。

程序通过登录模块登录后可以通过点击相应按钮使用其余六个模块的功能,从而实现图书管理员。

程序状态转换图

数据库设计

数据库类型为MySQLServer5.5

数据库名称为tpl

下图为表结构

程序部分源代码

由于源代码较多,故只写出部分源代码

Login.java登录类

importjava.awt.event.*;

importjavax.swing.*;

importjava.awt.*;

importjava.sql.*;

@SuppressWarnings("serial")

classLoginextendsJFrameimplementsActionListener//登录窗口类

{//定义各容器和组件

Containercp=null;

JFramef=null;

JButtonj1,j2;

JTextFieldt1;

JPasswordFieldt2;

JLabeljlable1,jlable2;

Colorc;

JPaneljp1,jp2;

//构造函数

Login(){

//创建各对象

f=newJFrame("小型图书管理系统");

j1=newJButton("确定");

j2=newJButton("取消");

cp=f.getContentPane();

jlable1=newJLabel("输入用户名");

jlable2=newJLabel("用户密码");

//重构painComponent函数实现JPanel添加背景

jp1=newJPanel(){

publicvoidpaintComponent(Graphicsg){

super.paintComponent(g);

ImageIconimg=newImageIcon("1.jpg");

g.drawImage(img.getImage(),0,0,null);

}};

jp2=newJPanel();

t1=newJTextField(18);

t2=newJPasswordField(18);

//将各组件加入相应的容器

jp1.add(jlable1);

jp1.add(t1);

jp1.add(jlable2);

jp1.add(t2);

JLabelJL=newJLabel("欢迎登陆",SwingConstants.CENTER);

cp.add(JL,"North");

jp2.add(j1);

jp2.add(j2);

cp.add(jp1,"Center");

cp.add("South",jp2);

jp1.setBackground(newColor(255,153,255));

Toolkitkit=Toolkit.getDefaultToolkit();

Dimensionscreen=kit.getScreenSize();

intx=screen.width;/*取得显示器窗口的宽度*/

inty=screen.height;/*取得显示器窗口的高度*/

//setSize(x,y);/*让系统窗口平铺整个显示器窗口*/

f.setSize(300,300);

intxcenter=(x-300)/2;

intycenter=(y-300)/2;

f.setLocation(xcenter,ycenter);/*显示在窗口中央*/

f.setVisible(true);

//-----------------------------------------------------

j1.addActionListener(this);//注册事件监听器

j2.addActionListener(this);

f.addWindowListener(newWindowAdapter(){

//关闭窗口函数

publicvoidwindowClosing(WindowEvente){

System.exit(0);

}

}

);

}

@SuppressWarnings("deprecation")

publicvoidconfirm()//验证用户和密码是否存在

{

try{ConnectMysqla=newConnectMysql();

Connectioncon=a.Connecting();

Statementsql=con.createStatement();

StringuName=t1.getText().trim();

Stringpassword=t2.getText().trim();

StringqueryMima="select*fromuserwhere用户名='"+uName+"'and密码='"+password+"'";

ResultSetrs=sql.executeQuery(queryMima);

if(rs.next())

{

newBook(uName);

f.hide();

con.close();

}else{

JOptionPane.showMessageDialog(null,"该用户不存在","提示!

",

JOptionPane.YES_NO_OPTION);

}

t1.setText("");

t2.setText("");

}catch(SQLExceptiong)

{

System.out.println("ECode"+g.getErrorCode());

System.out.println("EM"+g.getMessage());

}

}

//响应监听的不同事件

publicvoidactionPerformed(ActionEvente)

{

Stringcmd=e.getActionCommand();

if(cmd.equals("确定")){

confirm();

}

elseif(cmd.equals("取消")){

f.dispose();

}

}

@SuppressWarnings("unused")

publicstaticvoidmain(String[]arg){

Logina=newLogin();

}

}

QueryBook.java查找修改书籍类

importjava.awt.event.*;

importjavax.swing.*;

importjava.awt.*;

importjava.sql.*;

classQueryBookimplementsActionListener//查询修改书籍信息窗口类

{

//定义容器和组件

JFramef3;

Containercp;

JPaneljp1,jp2,jp3,jp4,jp,jpanelWest;

JButtonjbt1,jbt2,jbt3,jbt4;//按钮,确定、取消、修改、借书者信息

JLabellabel;//标签:

请输入图书号

JTextFieldtf,tf1,tf2,tf3,tf4,tf5,tf6,tf7,tf8;//定义文本框

JLabellabel1,label2,label3,label4;

QueryBook()

{

f3=newJFrame();

cp=f3.getContentPane();//初始化面板、按钮、标签、文本框

jp1=newJPanel();

jp2=newJPanel();

jp3=newJPanel();

jp4=newJPanel();

jpanelWest=newJPanel();

jp=newJPanel();

//------------------------------------------------

jbt1=newJButton("确定");

jbt2=newJButton("取消");

jbt3=newJButton("修改");

jbt4=newJButton("借书者信息");

//------------------------------------------------

label=newJLabel("请输入图书号:

",SwingConstants.CENTER);

label.setForeground(Color.blue);

tf=newJTextField(20);

//------------------------------------------------

tf1=newJTextField(20);

tf2=newJTextField(20);

tf3=newJTextField(20);

tf4=newJTextField(20);

tf5=newJTextField(20);

tf6=newJTextField(20);

tf7=newJTextField(20);

tf8=newJTextField(20);

//------------------------------------------------

//布局,添加控件

JPaneljpanel=newJPanel();

jpanel.add(label);

jpanel.add(tf);

JPanelpp4=newJPanel();

JPaneljpane4=newJPanel();

cp.add(jpanel,"North");

JPanelpp2=newJPanel(newGridLayout(8,1));

JPanelpp3=newJPanel();

pp4.setLayout(newGridLayout(8,1));

pp4.add(newJLabel("图书名",SwingConstants.CENTER));

pp2.add(tf1);

pp4.add(newJLabel("图书号",SwingConstants.CENTER));

pp2.add(tf2);

pp4.add(newJLabel("单价",SwingConstants.CENTER));

pp2.add(tf3);

pp4.add(newJLabel("作者",SwingConstants.CENTER));

pp2.add(tf4);

pp4.add(newJLabel("出版社",SwingConstants.CENTER));

pp2.add(tf5);

pp4.add(newJLabel("入库时间",SwingConstants.CENTER));

pp2.add(tf6);

pp4.add(newJLabel("是否被借",SwingConstants.CENTER));

pp2.add(tf7);

pp4.add(newJLabel("借书者学号",SwingConstants.CENTER));

pp2.add(tf8);

//将按钮加入pp3中

pp3.add(jbt1);//按钮确定

pp3.add(jbt2);//按钮取消

pp3.add(jbt3);//按钮修改

pp3.add(jbt4);//按钮借书者信息

cp.add(pp4,"West");

cp.add(pp2,"Center");

cp.add(pp3,"South");

cp.add(jpane4,"East");

//------------------------------------------------

Toolkitkit=Toolkit.getDefaultToolkit();

Dimensionscreen=kit.getScreenSize();

intx=screen.width;/*取得显示器窗口的宽度*/

inty=screen.height;/*取得显示器窗口的高度*/

f3.setSize(350,330);

intxcenter=(x-350)/2;

intycenter=(y-330)/2;

f3.setLocation(xcenter,ycenter);/*显示在窗口中央*/

f3.setVisible(true);

//-------------------------------------------------

jbt1.addActionListener(this);//注册监听器

jbt2.addActionListener(this);

jbt3.addActionListener(this);

jbt4.addActionListener(this);

}

//------------------------------------------------

publicvoidshowRecord()

{

try{ConnectMysqla=newConnectMysql();

Connectioncon=a.Connecting();

Statementsql;

Stringql=tf.getText().trim();

Strings="select*frombookwhere图书号='"+ql+"'";

sql=con.createStatement();

ResultSetrs=sql.executeQuery(s);

if(rs.next())

{

Stringbname=rs.getString

(1);

Stringbno=rs.getString

(2);

 

Stringprice=rs.getString(3);

Stringwriter=rs.getString(4);

Stringpublish=rs.getString(5);

Stringindate=rs.getString(6);

StringisBorrowed=rs.getString(7);

StringborrowedName=rs.getString(8);

tf1.setText(bname);

tf2.setText(bno);

tf3.setText(price);

tf4.setText(writer);

tf5.setText(publish);

tf6.setText(indate);

tf7.setText(isBorrowed);

tf8.setText(borrowedName);

}

else

{JOptionPane.showMessageDialog(null,"您输入的图书号不存在,请重新输入",

"输入错误",JOptionPane.YES_NO_OPTION);

}

con.close();

}catch(SQLExceptiong)

{

System.out.println("ECode"+g.getErrorCode());

System.out.println("EM"+g.getMessage());

}

tf1.setEditable(true);

tf2.setEditable(true);

tf3.setEditable(true);

tf4.setEditable(true);

tf5.setEditable(true);

tf6.setEditable(true);

tf7.setEditable(true);

tf8.setEditable(true);

}

publicvoidfixRecord()

{

try{ConnectMysqla=newConnectMysql();

Connectioncon=a.Connecting();

Statementsql;

Strings="updatebookset图书名='"+tf1.getText()+"',图书号='"+tf2.getText()+"',单价='"+tf3.getText()+"',作者='"+tf4.getText()+"',出版社='"+tf5.getText()+"',入库时间='"+tf6.getText()+"',是否被借='"+tf7.getText()+"',借书者学号='"+tf8.getText()+"'where图书号='"+tf2.getText()+"'";

sql=con.createStatement();

intfix=sql.executeUpdate(s);

if(fix==1)

{JOptionPane.showMessageDialog(null,"修改成功!

",

"信息",JOptionPane.INFORMATION_MESSAGE);

}

con.close();

}catch(SQLExceptiong)

{

System.out.println("ECode"+g.getErrorCode());

System.out.println("EM"+g.getMessage());

}

}

publicvoidShowStuRecord(){

StudentInfoInfo=newStudentInfo();

Info.tf.setText(tf8.getText());

Info.showRecord();

}

@SuppressWarnings("deprecation")

publicvoidactionPerformed(ActionEvente)

{

Stringcmd=e.getActionCommand();

if(cmd.equals("确定"))

{

showRecord();

tf.setText("");

}

if(cmd.equals("修改"))

{

fixRecord();

}

if(cmd.equals("借书者信息"))

{

ShowStuRecord();

}

if(cmd.equals("取消"))

f3.hide();

}

@SuppressWarnings("unused")

publicstaticvoidmain(String[]arg){

QueryBooka=newQueryBook();

}

}

BookIn.java图书入库类

importjava.awt.event.*;

importjavax.swing.*;

importjava.awt.*;

importjava.sql.*;

//extendsJFrame

classBookInimplementsActionListener//图书入库类

{

JFramef3;

Containercp;

JPaneljp1,jp2,jp3,jp4,jp,jpanelWest;

JButtonjbt1,jbt2;//按钮:

确定、取消、

JLabellabel;//标签

JTextFieldtf1,tf2,tf3,tf4,tf5,tf6,tf7,tf8;//定义文本框

JLabellabel1,label2,label3,label4;

Stringsno;

BookIn()

{

f3=newJFrame();

cp=f3.getContentPane();//初始化面板、按钮、标签、文本框

jp1=newJPanel();

jp2=newJPanel();

jp3=newJPanel();

jp4=newJPanel();

jpanelWest=newJPanel();

jp=newJPanel();

//------------------------------------------------

jbt1=newJButton("确定");

jbt2=newJButton("取消");

//------------------------------------------------

label=newJLabel("图书入库",SwingConstants.CENTER);

label.setForeground(Color.blue);

//------------------------------------------------

tf1=newJTextField(20);

tf2=newJTextField(20);

tf3=newJTextField(20);

tf4=newJTextField(20);

tf5=newJTextField(20);

tf6=newJTextField(20);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

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

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