收藏 分销(赏)

简易图书标准管理系统.doc

上传人:w****g 文档编号:3001082 上传时间:2024-06-12 格式:DOC 页数:21 大小:278.04KB 下载积分:10 金币
下载 相关 举报
简易图书标准管理系统.doc_第1页
第1页 / 共21页
简易图书标准管理系统.doc_第2页
第2页 / 共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; } }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服