版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本程序以java为设计语言,能够实现一个简单的图书管理系统,可以实现简单的增加图书,查询图书,删除图书的功能,其中用到数据库的连接,窗体的布局管理。本程序有以下几个功能函数组成所有模块都在名为bookmanager的包中1:主函数mainframe.java2:增加模块adddialog。java3:查询模块searchdialog.java4:查询结果模块searchresult.java精品文档放心下载5:书本类book。java6:数据库连接类dbcon。java主界面添加模块查询模块输出模块源程序如下1.mainframe。javapackagebookmanager;importjavax。swing。*;importjavax.swing。table.DefaultTableModel;谢谢阅读importjava。awt.*;importjava.awt.event.*;importjava。sql。Connection;谢谢阅读importjava。sql。PreparedStatement;感谢阅读importjava。sql。ResultSet;谢谢阅读importjava。sql.SQLException;感谢阅读importjava。util.LinkedList;谢谢阅读publicclassmainframeextendsJFrameimplementsActionListener{privateJToolBartb;精品文档放心下载String[]btntitle={"增加”,”查询","删除”,"退出”};感谢阅读String[]tabeltitle={”图书编号",”书名",”定价”,"出版社”};JButtonbtn[]=newJButton[4];JTabletable;精品文档放心下载DefaultTableModelmodel;publicmainframe(){super(”图书管理系统");//初始化各个按钮tb=newJToolBar("工具栏”);for(inti=0;i<btntitle.length;i++){谢谢阅读btn[i]=newJButton(btntitle[i]);精品文档放心下载btn[i]。addActionListener(this);谢谢阅读tb。add(btn[i]);}//创建表模型model=newDefaultTableModel(tabeltitle,10);table=newJTable(model);谢谢阅读//设定单元格的高度table。setRowHeight(25);add(tb,BorderLayout.NORTH);感谢阅读add(newJScrollPane(table),BorderLayout.CENTER);感谢阅读setSize(900,600);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);精品文档放心下载setLocation(100,30);init();}publicvoidactionPerformed(ActionEvente){感谢阅读mainframem=newmainframe();谢谢阅读Objecto=e.getSource();{if(o==btn[0]){adddialogad=newadddialog(m,25,25);谢谢阅读init();}if(o==btn[1]){searchdialogsd=newsearchdialog(m,25,25);sd.dialog.setVisible(true);init();谢谢阅读}if(o==btn[2]){intresult=JOptionPane。showConfirmDialog(null,”确实要删除该条图书信息精品文档放心下载吗?”,"确认",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE);谢谢阅读if(result==0){Connectioncon=dbcon。getconnectin();感谢阅读Objectob=model.getValueAt(table。getSelectedRow(),0);dbcon.delete(con,ob);精品文档放心下载init();}else{return;}}if(o==btn[3]){System。exit(0);}}}publicvoidinit(){Connectioncon=dbcon。getconnectin();感谢阅读LinkedListlist=null;try{PreparedStatementstmt=con.prepareStatement("select*from感谢阅读book”);ResultSetrs=stmt。executeQuery();感谢阅读list=newLinkedList();while(rs.next()){Stringid=rs.getString(1);谢谢阅读Stringname=rs.getString(2);感谢阅读Stringprice=rs.getString(3);精品文档放心下载Stringpublish=rs。getString(4);精品文档放心下载bookb=newbook(id,name,Float.valueOf(price),publish);精品文档放心下载list.add(b);}model.setRowCount(0);for(inti=0;i〈list。size();i++){精品文档放心下载bookb=(book)list.get(i);Object[]str={b。getid(),b.getname(),b。getprice(),b。谢谢阅读getpublish()};model.addRow(str);}}catch(SQLExceptione){谢谢阅读TODOAuto—generatedcatchblock谢谢阅读e.printStackTrace();}}publicstaticvoidmain(Stringargs[]){精品文档放心下载newmainframe()。show();}}*********************************************************感谢阅读*********************************************************精品文档放心下载2.Adddialog。java添加模块packagebookmanager;importjava.awt。*;importjava.awt。event。*;importjava。util.LinkedList;谢谢阅读importjavax。swing。*;publicclassadddialogimplementsActionListener{精品文档放心下载JLabellabel[]=newJLabel[4];精品文档放心下载JTextFieldtxt[]=newJTextField[4];精品文档放心下载String[]ltitle={"图书编号","图书名称”,"单 价”,”出版社”};感谢阅读String[]btitle={”上一个",”下一个",”确 定”,"取消"};精品文档放心下载JButtonbtn[]=newJButton[4];精品文档放心下载JDialogdialog;JPanelp;LinkedListlist;publicadddialog(JFramef,intx,inty){感谢阅读dialog=newJDialog(f,"增加”,true);谢谢阅读dialog.setLocation(x,y);p=newJPanel();list=newLinkedList();p.setBorder(BorderFactory.createTitledBorder("请选择操作”));谢谢阅读p。setBorder(BorderFactory。createLineBorder(Color.red));精品文档放心下载p.setBorder(BorderFactory。createBevelBorder(0,Color。red,Color。green));感谢阅读p.setBorder(BorderFactory.createBevelBorder(0,Color。red,Color。感谢阅读green,Color。blue ,Color。yellow ));精品文档放心下载for(inti=0;i<ltitle。length;i++){感谢阅读label[i]=newJLabel(ltitle[i]);谢谢阅读label[i].setFont(newFont("宋体”,Font.PLAIN,18));精品文档放心下载txt[i]=newJTextField();btn[i]=newJButton(btitle[i]);谢谢阅读btn[i].addActionListener(this);谢谢阅读btn[i]。setFont(newFont(”幼圆”,Font.PLAIN,15));感谢阅读dialog.add(label[i]);dialog.add(txt[i]);dialog.add(btn[i]);}dialog。setLayout(null);p。setBounds(10,150,310,160);谢谢阅读p。setBackground(Color。green );谢谢阅读label[0]。setBounds(10,10,90,25);txt[0]。setBounds(110,10,200,感谢阅读25);label[1]。setBounds(10,45,90,25);txt[1].setBounds(110,45,200,25);label[2]。setBounds(10,80,90,25);txt[2]。setBounds(110,80,200,25);label[3]。setBounds(10,115,90,25);txt[3].setBounds(110,115,200,25);dialog.add(p);谢谢阅读btn[0]。setBounds(60,180,80,25);btn[1]。setBounds(175,180,80,感谢阅读25);btn[2].setBounds(60,250,80,25);btn[3].setBounds(175,250,80,25);精品文档放心下载dialog.setSize(400,400);dialog。show();dialog。setDefaultCloseOperation(JFrame。DO_NOTHING_ON_CLOSE);谢谢阅读}publicvoidactionPerformed(ActionEvente){intsize=list.size();感谢阅读init();list。add(b);if(e.getSource()==btn[0]){谢谢阅读bookb1=(book)list.get(size);谢谢阅读size--;txt[0]。setText(b1.getid());精品文档放心下载txt[1]。setText(b1.getname());感谢阅读txt[2].setText(Float。toString(b1.getprice()));感谢阅读txt[3].setText(b1。getpublish());感谢阅读}if(e.getSource()==btn[1]){精品文档放心下载//bookb2=(book)list.get(size);感谢阅读size++;txt[0]。setText(b2。getid());谢谢阅读txt[1].setText(b2.getname());感谢阅读txt[2]。setText(Float.toString(b2.getprice()));精品文档放心下载txt[3].setText(b2。getpublish());谢谢阅读}if(e。getSource()==btn[2]){Stringid=txt[0].getText();Stringname=txt[1]。getText();谢谢阅读floatprice=getprice(txt[2]。getText());Stringpublish=txt[3].getText();谢谢阅读Objectstr[]={id,name,price,publish};dbcon.insert(dbcon。getconnectin(),str);谢谢阅读}}privatefloatgetprice(Stringstr){精品文档放心下载floatprice=0;try{price=Float。valueOf(str);}catch(Exceptionex){JOptionPane.showMessageDialog(null,”价格必须是数字,请重新输入!”,”谢谢阅读错误",JOptionPane。WARNING_MESSAGE);感谢阅读}returnprice;}//设定上一个,下一个按钮的可用性//privatevoidinit(){//if(list。size()==0)//{btn[0].setEnabled(false);btn[1]。setEnabled(false);}//else{btn[0].setEnabled(true);btn[1]。setEnabled(true);}//}}3。searchdialog.java查找模块packagebookmanager;importjavax.swing.*;importjava。awt。*;importjava。awt.event.*;importjava。sql。Connection;谢谢阅读importjava。sql。PreparedStatement;感谢阅读importjava.sql。ResultSet;谢谢阅读importjava.sql.SQLException;精品文档放心下载importjava。util.LinkedList;感谢阅读publicclasssearchdialogimplementsActionListener,ItemListener{JRadioButton[]radio=newJRadioButton[3];精品文档放心下载ButtonGroupgroup;String[]rtitle={"图书编号","图书名称",”出版社”};谢谢阅读String[]btitle={”确定(Yes)”,"取消(Esc)"};精品文档放心下载JTextFieldtxtfield[]=newJTextField[3];谢谢阅读JButtonbtn[]=newJButton[2];谢谢阅读JDialogdialog;searchresultst;publicsearchdialog(JFramef,intx,inty){精品文档放心下载//初始化单选按钮group=newButtonGroup();st=newsearchresult();for(inti=0;i〈radio.length;i++){谢谢阅读radio[i]=newJRadioButton(rtitle[i]);精品文档放心下载radio[i].addActionListener(this);精品文档放心下载radio[i].setFont(newFont(”宋体”,Font。PLAIN ,15));精品文档放心下载radio[i]。addItemListener(this);感谢阅读group。add(radio[i]);txtfield[i]=newJTextField();精品文档放心下载txtfield[i]。setEditable(false);精品文档放心下载}for(inti=0;i<2;i++){btn[i]=newJButton(btitle[i]);感谢阅读btn[i]。addActionListener(this);谢谢阅读btn[i].setFont(newFont("宋体",Font。PLAIN,15));感谢阅读}dialog=newJDialog(f,"查询",true);精品文档放心下载//初始化radio[0]。setSelected(true);精品文档放心下载txtfield[0].setEditable(true);谢谢阅读dialog.setLocation(x,y);dialog。setLayout(null);//设定各个组件的边界radio[0]。setBounds(10,10,90,25);txtfield[0].setBounds(110,感谢阅读10,250,25);radio[1].setBounds(10,45,90,25);txtfield[1]。setBounds(110,45,250,感谢阅读25);radio[2].setBounds(10,80,90,25);txtfield[2].setBounds(110,80,精品文档放心下载250,25);for(inti=0;i<radio。length;i++){感谢阅读dialog.add(radio[i]);dialog.add(txtfield[i]);}btn[0]。setBounds(20,135,120,25);btn[1].setBounds(200,135,120,精品文档放心下载25);dialog。add(btn[0]);dialog。add(btn[1]);感谢阅读dialog。setSize(400,250);dialog。setDefaultCloseOperation(JFrame。DISPOSE_ON_CLOSE );谢谢阅读}publicvoidactionPerformed(ActionEvente){感谢阅读if(e.getSource()==btn[0]){感谢阅读st.init();Connectioncon=dbcon。getconnectin();谢谢阅读PreparedStatementstmt=null;感谢阅读ResultSetrs=null;LinkedListlist=newLinkedList();感谢阅读try{if(radio[0].isSelected()){感谢阅读stmt=con。prepareStatement("select*frombookwherebid谢谢阅读like'%”+txtfield[0]。getText().trim()+”%’”);精品文档放心下载}if(radio[1]。isSelected()){感谢阅读stmt=con。prepareStatement("select*frombookwhere谢谢阅读bnamelike'%"+txtfield[1]。getText().trim()+”%'");精品文档放心下载}if(radio[2]。isSelected()){感谢阅读stmt=con.prepareStatement(”select*frombookwhere精品文档放心下载bpublishlike’%”+txtfield[2].getText().trim()+”%'”);谢谢阅读}rs=stmt.executeQuery();while(rs.next()){Stringid=rs.getString(1);谢谢阅读Stringname=rs。getString(2);谢谢阅读Stringprice=rs.getString(3);精品文档放心下载Stringpublish=rs。getString(4);精品文档放心下载bookb=newbook(id,name,Float。valueOf(price),publish);list.add(b);精品文档放心下载}for(inti=0;i<list.size();i++){精品文档放心下载bookb=(book)list.get(i);Objectob[]={b。getid(),b.getname精品文档放心下载(),b.getprice(),b.getpublish()};谢谢阅读st.model.addRow(ob);}JOptionPane.showMessageDialog(null,"总共找到”+list。size()+”条记录!","信息",JOptionPane.INFORMATION_MESSAGE);感谢阅读st。show();catch(SQLExceptione1){TODOAuto—generatedcatchblock谢谢阅读e1。printStackTrace();}}}publicvoiditemStateChanged(ItemEvente){for(inti=0;i〈radio.length;i++){谢谢阅读if(radio[i].isSelected()){谢谢阅读txtfield[i].setEditable(true);谢谢阅读}elsetxtfield[i]。setEditable(false);精品文档放心下载}}}4.searchresult.java查找结果packagebookmanager;importjavax。swing。*;importjavax。swing.table。DefaultTableModel;谢谢阅读importjava。awt.*;importjava.awt。event.*;publicclasssearchresultextendsJFrameimplementsActionListener{JTabletable;谢谢阅读DefaultTableModelmodel;String[]rtitle={"图书编号”,"图书名称”,"单价”,”出版社"};感谢阅读JDialogdialog;publicsearchresult(){super(”查询结果”);model=newDefaultTableModel(rtitle,0);精品文档放心下载table=newJTable(model);add(newJScrollPane(table),BorderLayout.CENTER);table.setRowHeight(25);谢谢阅读table。setFont(newFont(”楷体”,Font。PLAIN ,18));感谢阅读setSize(600,400);}publicvoidinit(){model.setRowCount(0);}publicvoidactionPerformed(ActionEvente){谢谢阅读//以后扩展用,暂不实现任何功能}}**************************谢谢阅读5.dbcon.java数据库连接类packagebookmanager;importjava。io.*;import。URL;importjava。sql.*;importjavax.swing。JOptionPane;感谢阅读publicclassdbcon{publicfinalstaticConnectiongetconnectin(){谢谢阅读Connectioncon=null;try{Class。forName(”com.microsoft。sqlserver.jdbc。SQLServerDriver");感谢阅读Stringurl=”jdbc:sqlserver://localhost:1433;integratedSecurity=true;”;精品文档放心下载con=DriverManager。getConnection(url);谢谢阅读con.setCatalog(”book");}catch(ClassNotFoundExceptionex){精品文档放心下载ex。printStackTrace();}catch(SQLExceptionex){ex.printStackTrace();}returncon;}//添加数据publicfinalstaticvoidinsert(Connectioncon,Objectobj[]){PreparedStatementstmt=null;谢谢阅读try{stmt=con.prepareStatement(”insertintobookvalues(?,?,?,?)");谢谢阅读stmt。setString(1,obj[0].toString());谢谢阅读stmt.setString(2,obj[1]。toString());谢谢阅读stmt。setFloat(3,Float.valueOf(obj[2]。toString()));感谢阅读stmt。setString(4,obj[3].toString());精品文档放心下载stmt。execute();JOptionPane.showMessageDialog(null,"添加成功!”,”操作提示”,JOptionPane.NO_OPTION);精品文档放心下载catch(SQLExce
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 励志主题班会2
- 第三单元 走向未来的少年检测题(含答案) -2024-2025学年度九年级道德与法治下册
- 东阳市外墙防水施工方案
- 2024秋苏教版二年级上册数学教学计划及进度表
- 幼儿园的学期教学计划范文
- 学校教学计划-2024学校教学工作计划
- 《无机材料科学基础》课件
- 《不干胶电子标签》课件
- 学校园文化建设五年推进计划
- 《浅谈学术浮躁》课件
- 分部分项工程划分表
- 机要密码培训课件
- 《肌力分级及护理》课件
- 足部经络专业知识讲座
- 公章共管管理制度
- 铭记历史珍爱和平课件
- 《蓄电池修复原理》课件
- 《认识单双数》课件
- 绘本《其实我很喜欢你》冯玉梅
- 国开03592-电气传动与调速系统机考复习资料
- 专家培训协议
评论
0/150
提交评论