打印 图书管理系统实习报告.docx
- 文档编号:27666243
- 上传时间:2023-07-03
- 格式:DOCX
- 页数:29
- 大小:630.79KB
打印 图书管理系统实习报告.docx
《打印 图书管理系统实习报告.docx》由会员分享,可在线阅读,更多相关《打印 图书管理系统实习报告.docx(29页珍藏版)》请在冰豆网上搜索。
打印图书管理系统实习报告
软件综合实习(28)图书信息管理(**)
2011-2级网络11-2班2013年6月21日
姓名:
陈雄学号:
3110757215
[问题描述]编写一个程序实现简单的图书信息的管理功能。
[基本要求](注:
本程序时在java的环境中运行,并通过eclipse来协助完成相应的操作。
)
(1)每本图书的基本信息包括:
编号,书名,作者,出版社,价格等,其中编号不允许重复。
(2)可以对图书基本信息进行管理(添加、删除、查找)。
(3)可以实现简单的统计功能,如统计某个出版社出版的图书,某个作者所编写的图书等。
(4)提供友好的GUI操作界面。
[选作内容]
(1)提供模糊查找的功能,如输入“程序”,可以查找到所有书名包含“程序”的图书的基本信息。
(2)实现组合条件的查询,如某个出版社某个作者出版的图书等,组合条件自己设计。
整个程序分为6个板块分别为:
Administrator;Book;BookInfo;
LMS;Reader;Register。
其中Administrator是管理员界面,可以实现图书的录入和查询,图书的录入和查询又可以进行入库,统计和删除和查找等操作。
Book可以实现图书的录入,统计和删除等操作,相当于Administrator的子类。
BookInfo可以实现图书的查询功能;可以通过作者,书名进行查询,也相当于Administrator的一个子类。
LMS可以实现图书管理系统。
提供登陆和注册等功能。
只有注册过的用户才有权限访问该系统。
Reader是一般的用户界面,上面只能提供一般用户的查询操作。
不能对数据库进行相关操作。
有效的提高了数据库的安全性。
本次实习用的数据库是微软的ACCESS2003
/**网络11-2班陈雄3110757215Administrator.java*/
importjavax.swing.*;
importjava.awt.*;
importjavax.swing.event.*;
importjava.awt.event.*;
publicclassAdministratorextendsJFrameimplementsActionListener{
privateJMenuBarJMB;//中间容器
privateJMenuM1,M2;
publicJMenuItemmenuItem1,menuItem2;
publicAdministrator(){
setTitle("管理员界面");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置关闭JFrame窗口
Containercontent=getContentPane();
content.setLayout(newBorderLayout());//创建布局
JMB=newJMenuBar();
M1=newJMenu("图书信息录入");//创建菜单
M2=newJMenu("图书信息查询");
menuItem1=newJMenuItem("图书信息录入");
menuItem2=newJMenuItem("图书信息查询");
menuItem1.addActionListener(this);//监听事件
menuItem2.addActionListener(this);
M1.add(menuItem1);
M2.add(menuItem2);
JMB.add(M1);
JMB.add(M2);
setJMenuBar(JMB);
JToolBarJTB=newJToolBar();
content.add(JTB,BorderLayout.NORTH);
setSize(300,200);
setVisible(true);
}publicvoidactionPerformed(ActionEvente){
if(e.getSource()==menuItem1){
newBook();
}elseif(e.getSource()==menuItem2){
newBookInfo();}
}
publicstaticvoidmain(Stringargs[]){
newAdministrator();
}}运行结果:
/**网络11-2班陈雄3110757215Book.java*/
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
importjava.sql.*;
publicclassBookextendsJFrameimplementsActionListener{
JLabeljLabelNumber=newJLabel("编号");
JLabeljLabelAuthor=newJLabel("作者");
JLabeljLabelBookName=newJLabel("书名");
JLabeljLabelPublish=newJLabel("出版社");
JLabeljLabelMoney=newJLabel("价格");
JLabeljLabelCount=newJLabel("作者共有书籍");
JButtonjButtonAdd=newJButton("入库");
JButtonjButtonCount=newJButton("按作者统计");
JButtonjButtonDelete=newJButton("按编号进行删除");
JButtonjButtonCount0=newJButton("按出版社统计");
JTextFieldjTextFieldNumber=newJTextField("");
JTextFieldjTextFieldAuthor=newJTextField("");
JTextFieldjTextFieldBookName=newJTextField("");
JTextFieldjTextFieldPublish=newJTextField("");
JTextFieldjTextFieldMoney=newJTextField("");
JTextFieldjTextFieldCount=newJTextField("");
JTextFieldjTextFieldCount0=newJTextField("");
publicBook(){
jbInit();//图书入库界面
addWindowListener(newWindowAdapter(){
publicvoidwindowClosing(WindowEvente){
System.exit(0);
}
});
setSize(400,500);
setVisible(true);
try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}
catch(ClassNotFoundExceptione){
System.out.println("ForName:
"+e.getMessage());
}
}privatevoidjbInit(){
ContainercontentPane=getContentPane();
contentPane.setLayout(null);
setTitle("图书录入");
jLabelNumber.setFont(newFont("Dialog",0,15));jLabelNumber.setHorizontalAlignment(SwingConstants.RIGHT);jLabelNumber.setBounds(20,21,56,25);
jLabelAuthor.setFont(newFont("Dialog",0,15));/*设置此组件的字体,其中匿名类Font根据指定的逻辑字体"Dialog"的规范系列名称的String常量、样式0和磅值大小15,创建一个新Font*/jLabelAuthor.setHorizontalAlignment(SwingConstants.RIGHT);//设置标签内容沿X轴的对齐方式,向右对齐
jLabelAuthor.setBounds(20,59,56,25);/*移动组件并调整其大小。
由20和21分别指定左上角的新位置的x和y坐标,由56和25分别指定组件新的宽和高*/
jLabelBookName.setFont(newFont("Dialog",0,15));jLabelBookName.setHorizontalAlignment(SwingConstants.RIGHT);jLabelBookName.setBounds(20,97,56,25);
jLabelPublish.setFont(newFont("Dialog",0,15));
jLabelPublish.setHorizontalAlignment(SwingConstants.RIGHT);jLabelPublish.setBounds(20,135,56,25);
jLabelMoney.setFont(newFont("Dialog",0,15));
jLabelMoney.setHorizontalAlignment(SwingConstants.RIGHT);
jLabelMoney.setBounds(20,172,56,25);
jLabelCount.setFont(newFont("Dialog",0,15));
jLabelCount.setHorizontalAlignment(SwingConstants.RIGHT);
jLabelCount.setBounds(80,280,56,25);
jTextFieldNumber.setBounds(90,21,150,28);
jTextFieldAuthor.setBounds(90,59,150,28);
jTextFieldBookName.setBounds(90,97,150,28);
jTextFieldPublish.setBounds(90,135,150,28);
jTextFieldMoney.setBounds(90,172,150,28);
jTextFieldCount.setBounds(200,220,80,28);
jTextFieldCount0.setBounds(200,280,80,28);
jButtonAdd.setBounds(260,172,73,28);
jButtonAdd.setFont(newFont("Dialog",0,15));
jButtonAdd.addActionListener(this);
jButtonCount.setBounds(20,220,150,28);
jButtonCount.setFont(newFont("Dialog",0,15));
jButtonCount.addActionListener(this);
jButtonDelete.setBounds(20,330,180,28);
jButtonDelete.setFont(newFont("Dialog",0,15));
jButtonDelete.addActionListener(this);
jButtonCount0.setBounds(20,280,150,28);
jButtonCount0.setFont(newFont("Dialog",0,15));
jButtonCount0.addActionListener(this);
contentPane.add(jLabelNumber);
contentPane.add(jLabelAuthor);
contentPane.add(jLabelBookName);
contentPane.add(jLabelPublish);
contentPane.add(jLabelMoney);
contentPane.add(jButtonAdd);
contentPane.add(jButtonCount);
contentPane.add(jButtonDelete);
contentPane.add(jButtonCount0);
contentPane.add(jTextFieldNumber);
contentPane.add(jTextFieldAuthor);
contentPane.add(jTextFieldBookName);
contentPane.add(jTextFieldPublish);
contentPane.add(jTextFieldMoney);
contentPane.add(jTextFieldCount);
contentPane.add(jTextFieldCount0);
}publicvoidactionPerformed(ActionEvente){
Stringstr0=jTextFieldNumber.getText();
Stringstr1=jTextFieldAuthor.getText();
Stringstr2=jTextFieldBookName.getText();
Stringstr3=jTextFieldPublish.getText();
Stringstr4=jTextFieldMoney.getText();
if(e.getSource()==jButtonAdd){
try{Connectioncon=DriverManager.getConnection("jdbc:
odbc:
Library");
Statementsm=con.createStatement();
Stringss="insertintobookvalues('"+str0+"','"+str1+"','"+str2+"','"+str3+"','"+str4+"')";System.out.println(ss);
sm.executeUpdate(ss);
sm.close();
con.close();
}catch(SQLExceptione3){
System.out.println("SQLException:
"+e3.getMessage());}
}
if(e.getSource()==jButtonCount){
try{
Connectioncon=DriverManager.getConnection("jdbc:
odbc:
Library");
Statementsm=con.createStatement();
ResultSetrs=sm.executeQuery("selectcount(*)frombookwhereauthor='"+str1+"'");
while(rs.next()){
jTextFieldCount.setText(rs.getString
(1));}
sm.close();
con.close();
}catch(SQLExceptione3){System.out.println("SQLException:
"+e3.getMessage());
}
}
if(e.getSource()==jButtonCount0){
try{Connectioncon=DriverManager.getConnection("jdbc:
odbc:
Library");
Statementsm=con.createStatement();
ResultSetrs=sm.executeQuery("selectcount(*)frombookwherepublish='"+str3+"'");
while(rs.next()){
//System.out.println(rs.getString
(1));
jTextFieldCount0.setText(rs.getString
(1));
}
sm.close();
con.close();
}
catch(SQLExceptione3){
System.out.println("SQLException:
"+e3.getMessage());
}
}if(e.getSource()==jButtonDelete){
try{Connectioncon=DriverManager.getConnection("jdbc:
odbc:
Library");
Statementsm=con.createStatement();
Stringss="DeletefrombookwhereNumber="+str0+"";
System.out.println(ss);
sm.executeUpdate(ss);
sm.close();
con.close();
}
catch(SQLExceptione3){System.out.println("SQLException:
"+e3.getMessage());
}
}
}
publicstaticvoidmain(Stringargs[]){
newBook();
}
}运行结果:
/***网络11-2班陈雄3110757215BookInfo.java*/
importjavax.swing.*;
importjavax.swing.table.*;
importjava.awt.*;
importjava.awt.event.*;
importjava.sql.*;
publicclassBookInfoextendsJFrameimplementsActionListener{
privateConnectioncon;//创建连接
privateJTabletable;//创建表格
privateString[]columnNames={"编号","作者","书名","出版社","价格"};
privateObject[][]rowData=newObject[50][5];//创建表格的行列大小
privateJButtonjb;
privateJRadioButtonrb1,rb2;//单选按钮类
privateJTextFieldjtext;//创建文本
publicBookInfo(){
super("图书查询");
Containercontent=getContentPane();//创建容器
JPanelpanel=newJPanel();//创建中间容器
GridBagLayoutgridbag=newGridBagLayout();//创建一个GridBagLayout的布局管理器
GridBagConstraintsconstraints=newGridBagConstraints();//创建约束对象GridBagConstraints
constraints.fill=GridBagConstraints.HORIZONTAL;//在水平方向上填充。
constraints.weightx=1;//在x方向上的增量为1
panel.setLayout(gridbag);//将中间容器添加到外层中间容器中
rb1=newJRadioButton("作者");//创建单选按钮rb1
rb1.setSelected(true);//
gridbag.setConstraints(rb1,constraints);//添加控件rb1到panel中间容器中
panel.add(rb1);
rb2=newJRadioButton("书名");//创建单选按钮rb2
gridbag.setConstraints(rb2,constraints);//添加控件rb2到中间容器中
panel.add(rb2);
ButtonGroupbg=newButtonGroup();//将单选按钮rb1,2划分到按钮组合中。
bg.add(rb1);
bg.add(rb2);
jtext=newJTextField("",20);//创建单行文本
gridbag.setConstraints(jtext,constraints);
panel.add(jtext);//将文本添加到中间容器中
jb=newJButton("查询");//新建一个查询按钮
jb.addActionListener(this);//添加事件监听器
constraints.gridwidth=GridBagConstraints.REMAINDER;//指定此组件是其行或列中的最后一个组件。
gridbag.setConstraints(jb,constraints);
panel.add(jb);
content.add(panel,BorderLayout.NORTH);
table=newJTable(rowData,columnNames);
JScrollPanescrollPane=newJScrollPane(table);//创建滚动条content.add(scrollPane,BorderLayout.CENTER);
setSize(400,200);
setVisible(true);
addWindowListener(newWindowAdapter(){
publicvoidwindowClosing(WindowEvente){
System.exit(0);
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 打印 图书管理系统实习报告 图书 管理 系统 实习 报告