1、 Java编写的简单图书管理系统 主界面 代码实现 package Library; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Container; import java.awt.event.ActionEvent; import java.awt.eve
2、nt.ActionListener; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.s
3、wing.JOptionPane; import javax.swing.JPanel; import javax.swing.JPasswordField; import javax.swing.JTextField; public class Login extends JFrame { private static final long serialVersionUID = 1L; private JLabel jlUsername; private JLabel jlPwd; private JTextField txtUsername; //用户名
4、 private JTextField txtPassword; //密码 private JButton jbOk; private JButton jbCancel; public JLabel getJlUsername() { if(jlUsername==null) { jlUsername=new JLabel("账号"); jlUsername.setForeground(Color.BLACK); jlUsername.setBounds(118, 40, 85, 30); } return jlUser
5、name; } public JLabel getJlPwd() { if(jlPwd==null) { jlPwd=new JLabel("密码"); jlPwd.setForeground(Color.BLACK); jlPwd.setBounds(118, 100, 85, 30); } return jlPwd; } public JTextField getTxtUsername() { if(txtUsername==null) { txtUsername=new JTextFi
6、eld(20); txtUsername.setBounds(180,40 , 200, 30); } return txtUsername; } public JTextField getTxtPassword() { if(txtPassword==null) { txtPassword=new JPasswordField(20); txtPassword.setBounds(180, 100, 200, 30); } return txtPassword; } public JButton getJ
7、bOk() { if(jbOk==null) { jbOk=new JButton("登陆"); jbOk.setBounds(150, 180, 90, 30); //jbOk.addActionListener(this); } return jbOk; } public JButton getJbCancel() { if(jbCancel==null) { jbCancel=new JButton("取消"); jbCancel.setBounds(300, 180, 90, 30);
8、 } return jbCancel; } public Login(String title) { super(title); //JFrame frame=new JFrame(); Container cantainer=this.getContentPane(); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); ImageIcon img = new ImageIcon("F:\\Java\\传习\\src\\Library\\ZF`XY`H48I_}U)C4~
9、}M2~C4.jpg");//这是背景图片 JLabel imgLabel = new JLabel(img);//将背景图放在标签里。 this.getLayeredPane().add(imgLabel, new Integer(Integer.MIN_VALUE));//注意这里是关键,将背景标签添加到jfram的LayeredPane面板里。 imgLabel.setBounds(0,0,img.getIconWidth(), img.getIconHeight());//设置背景标签的位置 cantainer.setLayout(new BorderL
10、ayout()); imgLabel.setLayout(null); imgLabel.add(getJlUsername()); imgLabel.add(getTxtUsername()); imgLabel.add(getJlPwd()); imgLabel.add(getTxtPassword()); imgLabel.add(getJbOk()); imgLabel.add(getJbCancel()); cantainer.add(imgLabel,BorderLayout.NORTH); ((JPanel
11、)cantainer).setOpaque(false); //注意这里,将内容面板设为透明。这样LayeredPane面板中的背景才能显示出来。 this.setSize(img.getIconWidth(),img.getIconHeight()); myEvent(); this.setVisible(true); this.setResizable(true); } private void myEvent(){ jbCancel.addActionListener(new ActionListener() { publ
12、ic void actionPerformed(ActionEvent e) { Login.this.dispose(); } }); jbOk.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { Connection conn=null; Statement stm=null; ResultSet st=null; try { Class.
13、forName("com.mysql.jdbc.Driver"); conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/library","sa","123456"); stm=conn.createStatement(); String sql="select * from user"; //String sql1="select psw from user"; st=stm.executeQuery(sql); // st1=st
14、m.executeQuery(sql1); if(st.next()) { if(txtUsername.getText().equals(st.getString("id"))&&txtPassword.getText().equals(st.getString("psw"))) { Login.this.setVisible(false); new Book("管理界面"); } else { JOptionP
15、ane.showMessageDialog(null, "您输入的账号或密码不正确"); getTxtUsername().setText(""); getTxtPassword().setText(""); } } else { JOptionPane.showMessageDialog(null,"用户名不存在,请重新输入,错误!"); getTxtUsername().setText(""); getTxtPassword().se
16、tText(""); } } catch(ClassNotFoundException e1) { e1.printStackTrace(); } catch (SQLException e2) { // TODO Auto-generated catch block e2.printStackTrace(); }finally{ try{ stm.close(); }catch (Exception e3) {} //
17、 关闭Connection try { conn.close(); } catch (Exception e4) {} } } }); } public static void main(String []args) { new Login("图书管理登陆界面"); } } 管理界面 实现代码 package Library; import java.awt.BorderLayout; import java.awt.Container; import java.awt.event.Actio
18、nEvent; import java.awt.event.ActionListener; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.s
19、wing.JLabel; import javax.swing.JPanel; import javax.swing.JTable; import javax.swing.JTextField; public class Book extends JFrame { private static final long serialVersionUID = 1L; private JLabel lblId; private JLabel lblBname; private JLabel lblWname; private JLabel lblCbs; pri
20、vate JLabel lblnum1; private JLabel lblnum2; private JTextField bId; //图书编号 private JTextField bname; //书名 private JTextField wname; //作者名 private JTextField cbs; //出版社 private JTextField num1; //现存量 private JTextField num2; //库存量 private JButton jbDel; private JTextField jDel;
21、 private JButton jbAdd; private JButton jbSearch; private JButton jbUpdate; private JTable table; private JLabel jabel;//输入要查找的书号 public JLabel getJabel() { if(jabel==null) { jabel=new JLabel("查删学号"); jabel.setBounds(50, 350, 50, 30); } return jabel; } public
22、JButton getJbDel() { if(jbDel==null) { jbDel=new JButton("删除"); jbDel.setBounds(180, 400, 60, 30); } return jbDel; } public JTextField getjDel() { if(jDel==null) { jDel=new JTextField(20); jDel.setBounds(100, 350, 150, 30); } return jDel; } public
23、JButton getJbAdd() { if(jbAdd==null) { jbAdd=new JButton("添加"); jbAdd.setBounds(100,400,60,30); } return jbAdd; } public JButton getJbSearch() { if(jbSearch==null) { jbSearch=new JButton("查找"); jbSearch.setBounds(100, 450, 60, 30); } return jbSearch; }
24、 public JButton getJbUpdate() { if(jbUpdate==null) { jbUpdate=new JButton("修改"); jbUpdate.setBounds(180, 450, 60, 30); } return jbUpdate; } public JTable getTable() { if(table==null) { table=new JTable(100,6); table.setBounds(270, 50, 500, 600); } re
25、turn table; } public JLabel getLblId() { if(lblId==null) { lblId=new JLabel("编号"); lblId.setBounds(50, 50, 50, 30); } return lblId; } public JLabel getLblBname() { if(lblBname==null) { lblBname=new JLabel("书名"); lblBname.setBounds(50, 100, 50, 30); }
26、 return lblBname; } public JLabel getLblWname() { if(lblWname==null) { lblWname=new JLabel("作者"); lblWname.setBounds(50,150, 50, 30); } return lblWname; } public JLabel getLblnum1() { if(lblnum1==null) { lblnum1=new JLabel("现存量"); lblnum1.setBounds(50,
27、200, 50, 30); } return lblnum1; } public JLabel getLblnum2() { if(lblnum2==null) { lblnum2=new JLabel("库存量"); lblnum2.setBounds(50,250, 50, 30); } return lblnum2; } public JTextField getbId() { if(bId==null) { bId=new JTextField(20); bId.setBounds(
28、100, 50,150, 30); } return bId; } public JTextField getBname() { if(bname==null) { bname=new JTextField(20); bname.setBounds(100, 100, 150, 30); } return bname; } public JTextField getWname() { if(wname==null) { wname=new JTextField(20); wname.setB
29、ounds(100, 150, 150, 30); } return wname; } public JTextField getNum1() { if(num1==null) { num1=new JTextField(20); num1.setBounds(100, 200, 150, 30); } return num1; } public JTextField getNum2() { if(num2==null) { num2=new JTextField(20); num2.set
30、Bounds(100, 250, 150, 30); } return num2; } public JLabel getLblCbs() { if(lblCbs==null) { lblCbs=new JLabel("出版社"); lblCbs.setBounds(50,300, 50, 30); } return lblCbs; } public JTextField getCbs() { if(cbs==null) { cbs=new JTextField(20); cbs.setBo
31、unds(100, 300, 150, 30); } return cbs; } public Book(String title) { super(title); //JFrame frame=new JFrame(); Container cantainer=this.getContentPane(); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); ImageIcon img = new ImageIcon("F:\\Java\\传习\\src\\Librar
32、y\\d50735fae6cd7b8961e8eafd0f2442a7d8330ecc[1].jpg");//这是背景图片 JLabel imgLabel = new JLabel(img);//将背景图放在标签里。 this.getLayeredPane().add(imgLabel, new Integer(Integer.MIN_VALUE));//注意这里是关键,将背景标签添加到jfram的LayeredPane面板里。 imgLabel.setBounds(0,0,img.getIconWidth(), img.getIconHeight());//设置背景标
33、签的位置 cantainer.setLayout(new BorderLayout()); imgLabel.setLayout(null); imgLabel.add(getLblId()); imgLabel.add(getbId()); imgLabel.add(getLblBname()); imgLabel.add(getBname()); imgLabel.add(getLblWname()); imgLabel.add(getWname()); imgLabel.add(getLblnum1());
34、 imgLabel.add(getNum1()); imgLabel.add(getLblnum2()); imgLabel.add(getNum2()); imgLabel.add(getLblCbs()); imgLabel.add(getCbs()); imgLabel.add(getTable()); imgLabel.add(getJbDel()); imgLabel.add(getjDel()); imgLabel.add(getJbAdd()); imgLabel.add(getJbSearch());
35、 imgLabel.add(getJbUpdate()); imgLabel.add(getJabel()); cantainer.add(imgLabel,BorderLayout.NORTH); ((JPanel)cantainer).setOpaque(false); //注意这里,将内容面板设为透明。这样LayeredPane面板中的背景才能显示出来。 this.setSize(img.getIconWidth(),img.getIconHeight()); myEvent(); this.setVisible(true); t
36、his.setResizable(true); } private void myEvent() { // TODO Auto-generated method stub jbAdd.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent ee) { Connection conn=null; Statement stm=null; String id1=bId.getText(); String nam
37、e1=bname.getText(); String name2=wname.getText(); String n1=num1.getText(); String n2=num2.getText(); String chubs=cbs.getText(); try{ Class.forName("com.mysql.jdbc.Driver"); conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/library","sa","123456");
38、 stm=conn.createStatement(); String sql="insert into book values('"+id1+"','"+name1+"','"+name2+"','"+n1+"','"+n2+"','"+chubs+"')"; stm.executeUpdate(sql); getbId().setText(""); getBname().setText(""); getWname().setText(""); getNum1().setText(""); getNu
39、m2().setText(""); getCbs().setText(""); }catch(ClassNotFoundException e) { } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { // 关闭Statement try { stm.close(); } catch (Exception e) {} // 关闭C
40、onnection try { conn.close(); } catch (Exception e) {} } } }); jbDel.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent ee) { String id=jDel.getText(); Connection conn=null; Statement stm=null; try{
41、 Class.forName("com.mysql.jdbc.Driver"); conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/library","sa","123456"); //String sql="select * from book"; String sql="delete from book where Bid='"+id+"'"; stm=conn.createStatement(); stm.executeUpdate(sql)
42、 getjDel().setText(""); }catch(ClassNotFoundException e) { } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { // 关闭Statement try { stm.close(); } catch (Exception e) {} // 关闭Connection
43、 try { conn.close(); } catch (Exception e) {} } } }); jbSearch.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent ee) { String id=jDel.getText(); Connection conn=null; Statement stm=null; ResultSet rst=null;
44、 try{ Class.forName("com.mysql.jdbc.Driver"); conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/library","sa","123456"); //String sql="select * from book"; String sql="select * from book where Bid='"+id+"'"; stm=conn.createStatement(); rst=stm
45、executeQuery(sql); if(rst.next()) { getbId().setText(rst.getString("Bid")); getBname().setText(rst.getString("Bname")); getWname().setText(rst.getString("Wname")); getNum1().setText(rst.getString("num1")); getNum2().setText(rst.getString("num2"));
46、 getCbs().setText(rst.getString("chubs")); getjDel().setText(""); } }catch(ClassNotFoundException e) { } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { // 关闭Statement try { stm.close(); }
47、 catch (Exception e) {} // 关闭Connection try { conn.close(); } catch (Exception e) {} } } }); jbUpdate.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent ee) { String id1=bId.getText(); String name1=bname.get
48、Text(); String name2=wname.getText(); String n1=num1.getText(); String n2=num2.getText(); String chubs=cbs.getText(); Connection conn=null; Statement stm=null; try{ Class.forName("com.mysql.jdbc.Driver"); conn=DriverManager.getConnection("jdbc:mysql://l
49、ocalhost:3306/library","sa","123456"); String sql="update library.book set Bname='"+name1+"',Wname='"+name2+"',num1='"+n1+"',num2='"+n2+"',chubs='"+chubs+"' where Bid='"+id1+"'"; stm=conn.createStatement(); stm.executeUpdate(sql); }catch(ClassNotFoundException e)
50、{ } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { // 关闭Statement try { stm.close(); } catch (Exception e) {} // 关闭Connection try { conn.close(); } catch (Exception e) {} } } })






