本程序以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〈btntitlelength;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 Source();
    {
        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。showConfirmDialognull,"确实要删除该条图书信息吗?",”确认",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 uteQuery();
        list=new LinkedList();
        while(rs。next()){
            String String(1);
            String String(2);
            String String(3);
            String String(4);
            book b=new book(id,name,Float.valueOf(price),publish);
            list。add(b);
        }
        model。setRowCount(0);
        forint 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.d  ));
//    p。ateBevelBorder(0, d , Color。green  ));
    p.setBorder(BorderFactory。createBevelBorder(0, Color。red , , Color。blue  , llow  ));
    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);