简易图书管理系统_第1页
简易图书管理系统_第2页
简易图书管理系统_第3页
简易图书管理系统_第4页
简易图书管理系统_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本程序以 java 为设计语言 能够实现一个简单的图书管理系统 可以实现简单的增加图书 查询图书 删除图书的功能 其中用到数据库的连接 窗体的布局管理 本程序有以下几个功能函数组成 所有模块都在名为 bookmanager 的包中 1 主函数 mainframe java 2 增加模块 adddialog java 3 查询模块 searchdialog java 4 查询结果模块 searchresult java 5 书本类 book java 6 数据库连接类 dbcon java 1 主界面 2 添加模块 2 3 查询模块查询模块 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 4 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 5 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 6 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 7 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 8 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 9 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 10 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 11 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 12 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 13 添加数据 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 添加数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论