简易图书标准管理系统.doc
《简易图书标准管理系统.doc》由会员分享,可在线阅读,更多相关《简易图书标准管理系统.doc(21页珍藏版)》请在咨信网上搜索。
本程序以java为设计语言,可以实现一种简朴图书管理系统,可以实现简朴增长图书,查询图书,删除图书功能,其中用到数据库连接,窗体布局管理。 本程序有如下几种功能函数构成 所有模块都在名为bookmanager包中 1:主函数mainframe.java 2:增长模块 adddialog.java 3:查询模块 searchdialog.java 4:查询成果模块 searchresult.java 5:课本类book.java 6:数据库连接类 dbcon.java 1. 主界面 2. 添加模块 3. 查询模块 4. 输出模块 5. 6. 源程序如下 1.mainframe.java package bookmanager; import javax.swing.*; import javax.swing.table.DefaultTableModel; import java.awt.*; import java.awt.event.*; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.LinkedList; public class mainframe extends JFrame implements ActionListener{ private JToolBar tb; String []btntitle={"增长","查询","删除","退出"}; String []tabeltitle={"图书编号","书名","定价","出版社"}; JButton btn[]=new JButton[4]; JTable table; DefaultTableModel model; public mainframe(){ super("图书管理系统"); //初始化各个按钮 tb=new JToolBar("工具栏"); for(int i=0;i<btntitle.length;i++){ btn[i]=new JButton(btntitle[i]); btn[i].addActionListener(this); tb.add(btn[i]); } //创立表模型 model=new DefaultTableModel(tabeltitle,10); table=new JTable(model); //设定单元格高度 table.setRowHeight(25); add(tb,BorderLayout.NORTH ); add(new JScrollPane(table),BorderLayout.CENTER ); setSize(900,600); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE ); setLocation(100,30); init(); } public void actionPerformed(ActionEvent e){ mainframe m=new mainframe(); Object o=e.getSource(); { if(o==btn[0]){ adddialog ad=new adddialog(m,25,25); init(); } if(o==btn[1]){ searchdialog sd=new searchdialog(m,25,25); sd.dialog.setVisible(true); init(); } if(o==btn[2]){ int result=JOptionPane.showConfirmDialog(null,"的确要删除该条图书信息吗?","确认",JOptionPane.YES_NO_OPTION ,JOptionPane.QUESTION_MESSAGE ); if(result==0){ Connection con=dbcon.getconnectin(); Object ob=model.getValueAt(table.getSelectedRow(),0); dbcon.delete(con,ob); init(); } else { return ; } } if(o==btn[3]){ System.exit(0); } } } public void init(){ Connection con=dbcon.getconnectin(); LinkedList list=null; try { PreparedStatement stmt=con.prepareStatement("select * from book"); ResultSet rs=stmt.executeQuery(); list=new LinkedList(); while(rs.next()){ String id=rs.getString(1); String name=rs.getString(2); String price=rs.getString(3); String publish=rs.getString(4); book b=new book(id,name,Float.valueOf(price),publish); list.add(b); } model.setRowCount(0); for(int i=0;i<list.size();i++){ book b=(book)list.get(i); Object []str={b.getid(),b.getname(),b.getprice(),b.getpublish()}; model.addRow(str); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static void main(String args[]){ new mainframe().show(); } } ********************************************************* ********************************************************* 2.Adddialog.java添加模块 package bookmanager; import java.awt.*; import java.awt.event.*; import java.util.LinkedList; import javax.swing.*; public class adddialog implements ActionListener { JLabel label[]=new JLabel[4]; JTextField txt[]=new JTextField[4]; String [] ltitle={"图书编号","图书名称","单 价","出 版 社"}; String []btitle={"上一种","下一种","确 定","取 消"}; JButton btn[]=new JButton[4]; JDialog dialog; JPanel p; LinkedList list; public adddialog(JFrame f,int x,int y){ dialog=new JDialog(f,"增长",true); dialog.setLocation(x,y); p=new JPanel(); list=new LinkedList(); // 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(int i=0;i<ltitle.length ;i++){ label[i]=new JLabel(ltitle[i]); label[i].setFont(new Font("宋体",Font.PLAIN ,18)); txt[i]=new JTextField(); btn[i]=new JButton(btitle[i]); btn[i].addActionListener(this); btn[i].setFont(new Font("幼圆",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 ); } public void actionPerformed(ActionEvent e){ int size=list.size(); // init(); // list.add(b); // if(e.getSource()==btn[0]){ // // book b1=(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]){ // // book b2=(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]){ String id=txt[0].getText(); String name=txt[1].getText(); float price=getprice(txt[2].getText()); String publish=txt[3].getText(); Object str[]={id,name,price,publish}; dbcon.insert(dbcon.getconnectin(),str); } } private float getprice(String str){ float price=0; try{ price=Float.valueOf(str); } catch(Exception ex){ JOptionPane.showMessageDialog(null,"价格必要是数字,请重新输入!","错误",JOptionPane.WARNING_MESSAGE ); } return price; } //设定上一种,下一种按钮可用性 //private void init(){ //if(list.size()==0) //{ // btn[0].setEnabled(false); // btn[1].setEnabled(false); // } //else{ // btn[0].setEnabled(true); // btn[1].setEnabled(true); //} //} } 3.searchdialog.java 查找模块 package bookmanager; import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.LinkedList; public class searchdialog implements ActionListener ,ItemListener{ JRadioButton []radio=new JRadioButton[3]; ButtonGroup group; String []rtitle={"图书编号","图书名称","出 版 社"}; String []btitle={" 拟定(Yes)","取消(Esc)"}; JTextField txtfield[]=new JTextField[3]; JButton btn[]=new JButton[2]; JDialog dialog; searchresult st; public searchdialog(JFrame f,int x,int y){ //初始化单选按钮 group=new ButtonGroup(); st=new searchresult(); for(int i=0;i<radio.length;i++){ radio[i]=new JRadioButton(rtitle[i]); radio[i].addActionListener(this); radio[i].setFont(new Font("宋体",Font.PLAIN ,15)); radio[i].addItemListener(this); group.add(radio[i]); txtfield[i]=new JTextField(); txtfield[i].setEditable(false); } for(int i=0;i<2;i++){ btn[i]=new JButton(btitle[i]); btn[i].addActionListener(this); btn[i].setFont(new Font("宋体",Font.PLAIN ,15)); } dialog =new JDialog(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(int i=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 ); } public void actionPerformed(ActionEvent e){ if(e.getSource()==btn[0]){ st.init(); Connection con=dbcon.getconnectin(); PreparedStatement stmt=null; ResultSet rs=null; LinkedList list=new LinkedList(); try { if(radio[0].isSelected()){ stmt=con.prepareStatement("select * from book where bid like '%"+txtfield[0].getText().trim()+"%'"); } if(radio[1].isSelected()){ stmt=con.prepareStatement("select * from book where bname like '%"+txtfield[1].getText().trim()+"%'"); } if(radio[2].isSelected()){ stmt=con.prepareStatement("select * from book where bpublish like '%"+txtfield[2].getText().trim()+"%'"); } rs=stmt.executeQuery(); while(rs.next()){ String id=rs.getString(1); String name=rs.getString(2); String price=rs.getString(3); String publish=rs.getString(4); book b=new book(id,name,Float.valueOf(price),publish); list.add(b); } for(int i=0;i<list.size();i++){ book b=(book)list.get(i); Object ob[]={b.getid(),b.getname(),b.getprice(),b.getpublish()}; st.model.addRow(ob); } JOptionPane.showMessageDialog(null,"总共找到"+list.size()+"条记录!","信息",JOptionPane.INFORMATION_MESSAGE ); st.show(); } catch (SQLException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } } public void itemStateChanged(ItemEvent e){ for(int i=0;i<radio.length;i++){ if(radio[i].isSelected()){ txtfield[i].setEditable(true); } else txtfield[i].setEditable(false); } } } 4.searchresult.java查找成果 package bookmanager; import javax.swing.*; import javax.swing.table.DefaultTableModel; import java.awt.*; import java.awt.event.*; public class searchresult extends JFrame implements ActionListener{ JTable table; DefaultTableModel model; String []rtitle={"图书编号","图书名称","单价","出 版 社"}; JDialog dialog; public searchresult(){ super("查询成果"); model=new DefaultTableModel(rtitle,0); table=new JTable(model); add(new JScrollPane(table),BorderLayout.CENTER ); table.setRowHeight(25); table.setFont(new Font("楷体",Font.PLAIN ,18)); setSize(600,400); } public void init(){ model.setRowCount(0); } public void actionPerformed(ActionEvent e){ //后来扩展用,暂不实现任何功能 } } ************************** 5.dbcon.java数据库连接类 package bookmanager; import java.io.*; import .URL; import java.sql.*; import javax.swing.JOptionPane; public class dbcon { public final static Connection getconnectin(){ Connection con=null; try{ Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); String url="jdbc:sqlserver://localhost:1433;integratedSecurity=true;"; con=DriverManager.getConnection(url); con.setCatalog("book"); } catch(ClassNotFoundException ex){ ex.printStackTrace(); } catch(SQLException ex){ ex.printStackTrace(); } return con; } //添加数据 public final static void insert(Connection con,Object obj[]){ PreparedStatement stmt=null; try { stmt=con.prepareStatement("insert into book values(?,?,?,?)"); 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 (SQLException e) { JOptionPane.showMessageDialog(null,"添加数据时发生错误!","信息",JOptionPane.INFORMATION_MESSAGE ); } } //查询数据 public final static ResultSet query(Connection con,Object ob){ ResultSet rs=null; PreparedStatement stmt=null; try { stmt=con.prepareStatement("select * from book"); rs=stmt.executeQuery(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return rs; } //删除数据 public final static void delete(Connection con,Object ob){ try { PreparedStatement stmt; stmt=con.prepareStatement("delete from book where bid=?"); stmt.setObject(1,ob); stmt.executeUpdate(); JOptionPane.showMessageDialog(null,"信息删除成功!","信息",JOptionPane.INFORMATION_MESSAGE ); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally{ } } } 6.课本类 book.java package bookmanager; public class book { private String id,name,publish; private float price; public book(String id,String name,float price,String publish){ this.id=id; this.name=name; this.price =price; this.publish =publish; } public String getid(){ return id; } public String getname(){ return name; } public float getprice(){ return price; } public String getpublish(){ return publish; } }- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 简易 图书 标准 管理 系统
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【w****g】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【w****g】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【w****g】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【w****g】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文