zoukankan      html  css  js  c++  java
  • 《图书管理系统——java》

    /* (程序头部凝视開始)
    * 程序的版权和版本号声明部分
    * Copyright (c) 2011, 烟台大学计算机学院学生
    * All rights reserved.
    * 文件名:    《图书管理系统——java》                         
    * 作    者:       刘江波                      
    * 完毕日期:    2012     年  3     月     1   日
    * 版 本 号:    v3.0     

    * 对任务及求解方法的描写叙述部分
    * 问题描写叙述: 
    * 程序头部的凝视结束
    */

    文件包的建立情况:

    BookDao.java

    /*
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     */
    
    package com.liu.dao;
    
    import com.liu.po.BookBean;
    import java.io.*;
    import java.util.HashMap;
    import java.util.Map;
    import java.util.logging.Level;
    import java.util.logging.Logger;
    
    /**
     *
     * @author asus
     */
    public class BookDAO {
         // 写
        public void writeBook(Map<Integer,BookBean >bookMap){
         //
            FileOutputStream fos = null;
            ObjectOutputStream oos = null;
            try {
                fos = new FileOutputStream("F:\缓存区\book.txt");
                oos = new ObjectOutputStream(fos);
                oos.writeObject(bookMap);
                //清空缓存区
                oos.flush();
            }
            catch (FileNotFoundException ex) {
                    Logger.getLogger(TypeDAO.class.getName()).log(Level.SEVERE, null, ex);
            }
            //异常级别高的在后边
            catch (IOException ex) {
                    Logger.getLogger(TypeDAO.class.getName()).log(Level.SEVERE, null, ex);
            }
            finally{
                try{
                    //先开后闭
                     oos.close();
                     fos.close();
                }catch(IOException ex){
                    Logger.getLogger(TypeDAO.class.getName()).log(Level.SEVERE,null,ex);
                }
            }
        }
    
        //读
        public Map<Integer,BookBean>readBook(){
            FileInputStream fis = null;
            ObjectInputStream ois = null;
            Map<Integer, BookBean> map = null;
            try {
                fis = new FileInputStream("F:\缓存区\book.txt");
                ois = new ObjectInputStream(fis);
                map = (Map<Integer, BookBean>) ois.readObject();//出现异常进入catch
            } catch (ClassNotFoundException ex) {
                Logger.getLogger(TypeDAO.class.getName()).log(Level.SEVERE, null, ex);
            } catch (FileNotFoundException ex) {
                Logger.getLogger(TypeDAO.class.getName()).log(Level.SEVERE, null, ex);
            } catch (IOException ex) {
                //Logger.getLogger(TypeDAO.class.getName()).log(Level.SEVERE, null, ex);
                //ex.printStackTrace();
                map=new HashMap<Integer,BookBean>();//出现异常时,进行创建map
            } finally{
                try {
                    if(ois!=null){
                        ois.close();
                    }
                    if(fis!=null){
                         fis.close();
                    }
    
                } catch (IOException ex) {
                    Logger.getLogger(TypeDAO.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
            return map;
        }
    }
    


     

    TypeDao.java

    /*
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     */
    
    package com.liu.dao;
    
    import com.liu.po.TypeBean;
    import java.io.*;
    import java.util.*;
    import java.util.logging.*;
    /**
     *
     * 对文件进行读和写操作
     */
    public class TypeDAO {
    
        // 写 
        public void writeType(Map<Integer,TypeBean >typeMap){
         // 
            FileOutputStream fos = null;
            ObjectOutputStream oos = null;
            try {
                fos = new FileOutputStream("F:\缓存区\type.txt");
                oos = new ObjectOutputStream(fos);
                oos.writeObject(typeMap);
                //清空缓存区
                oos.flush();
            }
            catch (FileNotFoundException ex) {
                    Logger.getLogger(TypeDAO.class.getName()).log(Level.SEVERE, null, ex);
            }
            //异常级别高的在后边
            catch (IOException ex) {
                    Logger.getLogger(TypeDAO.class.getName()).log(Level.SEVERE, null, ex);
            }
            finally{
                try{
                    //先开后闭
                     oos.close();
                     fos.close();
                }catch(IOException ex){
                    Logger.getLogger(TypeDAO.class.getName()).log(Level.SEVERE,null,ex);
                }
            }  
        }
        
        //读
        public Map<Integer,TypeBean>readType(){
            FileInputStream fis = null;
            ObjectInputStream ois = null;
            Map<Integer, TypeBean> map = null;
            try {
                fis = new FileInputStream("F:\缓存区\type.txt");
                ois = new ObjectInputStream(fis);
                map = (Map<Integer, TypeBean>) ois.readObject();//出现异常进入catch
            } catch (ClassNotFoundException ex) {
                Logger.getLogger(TypeDAO.class.getName()).log(Level.SEVERE, null, ex);
            } catch (FileNotFoundException ex) {
                Logger.getLogger(TypeDAO.class.getName()).log(Level.SEVERE, null, ex);
            } catch (IOException ex) {
                //Logger.getLogger(TypeDAO.class.getName()).log(Level.SEVERE, null, ex);
                //ex.printStackTrace();
                map=new HashMap<Integer,TypeBean>();//出现异常时,进行创建map
            } finally{
                try {
                    if(ois!=null){
                        ois.close();
                    }
                    if(fis!=null){
                         fis.close();
                    }
                   
                } catch (IOException ex) {
                    Logger.getLogger(TypeDAO.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
            return map;
        }
    }
    
    


     

    BookBean.java

    /*
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     */
    
    package com.liu.po;
    
    import java.io.Serializable;
    
    /**
     *
     * @author asus
     */
    public class BookBean implements Serializable{
    
        private int id;
        private String bookName;
        private String bookType;
        private String memo;
        private String money;
    
        /**
         * @return the id
         */
        public int getId() {
            return id;
        }
    
        /**
         * @param id the id to set
         */
        public void setId(int id) {
            this.id = id;
        }
    
        /**
         * @return the bookName
         */
        public String getBookName() {
            return bookName;
        }
    
        /**
         * @param bookName the bookName to set
         */
        public void setBookName(String bookName) {
            this.bookName = bookName;
        }
    
        /**
         * @return the bookType
         */
        public String getBookType() {
            return bookType;
        }
    
        /**
         * @param bookType the bookType to set
         */
        public void setBookType(String bookType) {
            this.bookType = bookType;
        }
    
        /**
         * @return the memo
         */
        public String getMemo() {
            return memo;
        }
    
        /**
         * @param memo the memo to set
         */
        public void setMemo(String memo) {
            this.memo = memo;
        }
    
        /**
         * @return the money
         */
        public String getMoney() {
            return money;
        }
    
        /**
         * @param money the money to set
         */
        public void setMoney(String money) {
            this.money = money;
        }
    }
    
    


     

    TypeBean.java

    /*
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     */
    
    package com.liu.po;
    
    /**
     *
     * @author asus
     */
    import java.io.Serializable;
    
    public class TypeBean implements Serializable{
    
        private int id;
        private String typeName;
        private String memo;
    
        /**
         * @return the id
         */
        public int getId() {
            return id;
        }
    
        /**
         * @param id the id to set
         */
        public void setId(int id) {
            this.id = id;
        }
    
        /**
         * @return the typeName
         */
        public String getTypeName() {
            return typeName;
        }
    
        /**
         * @param typeName the typeName to set
         */
        public void setTypeName(String typeName) {
            this.typeName = typeName;
        }
    
        /**
         * @return the memo
         */
        public String getMemo() {
            return memo;
        }
    
        /**
         * @param memo the memo to set
         */
        public void setMemo(String memo) {
            this.memo = memo;
        }
    
        
    }
    
    


     

    LoginForm.java

    /*
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     */
    
    /*
     * LoginForm.java
     *
     * Created on 2013-2-26, 18:33:36
     */
    
    package com.liu.view;
    
    import java.awt.event.KeyAdapter;
    import java.awt.event.KeyEvent;
    import javax.swing.JOptionPane;
    
    /**
     *
     * @author asus
     */
    public class LoginForm extends javax.swing.JFrame {
    
        /** Creates new form LoginForm */
        public LoginForm() {
            initComponents();   
     }
    
        /** This method is called from within the constructor to
         * initialize the form.
         * WARNING: Do NOT modify this code. The content of this method is
         * always regenerated by the Form Editor.
         */
        @SuppressWarnings("unchecked")
        // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
        private void initComponents() {
    
            jLabel1 = new javax.swing.JLabel();
            jLabel2 = new javax.swing.JLabel();
            jLabel3 = new javax.swing.JLabel();
            LoginName = new javax.swing.JTextField();
            LoginPwd = new javax.swing.JPasswordField();
            jButton1 = new javax.swing.JButton();
    
            setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
            setTitle("登陆界面");
            setBounds(new java.awt.Rectangle(300, 200, 0, 0));
            setIconImage(new javax.swing.ImageIcon(getClass().getResource("/com/liu/resouce/logo.jpg")).getImage());
            addKeyListener(new java.awt.event.KeyAdapter() {
                public void keyPressed(java.awt.event.KeyEvent evt) {
                    formKeyPressed(evt);
                }
            });
    
            jLabel1.setFont(new java.awt.Font("宋体", 0, 36));
            jLabel1.setForeground(new java.awt.Color(204, 0, 0));
            jLabel1.setText("图书管理系统");
    
            jLabel2.setFont(new java.awt.Font("宋体", 0, 24));
            jLabel2.setText("username:");
    
            jLabel3.setFont(new java.awt.Font("宋体", 0, 24));
            jLabel3.setText("password:");
    
            LoginName.setName(""); // NOI18N
            LoginName.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    LoginNameActionPerformed(evt);
                }
            });
            LoginName.addKeyListener(new java.awt.event.KeyAdapter() {
                public void keyPressed(java.awt.event.KeyEvent evt) {
                    LoginNameKeyPressed(evt);
                }
            });
    
            LoginPwd.addKeyListener(new java.awt.event.KeyAdapter() {
                public void keyPressed(java.awt.event.KeyEvent evt) {
                    LoginPwdKeyPressed(evt);
                }
            });
    
            jButton1.setFont(new java.awt.Font("宋体", 0, 24)); // NOI18N
            jButton1.setText("登录");
            jButton1.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    jButton1ActionPerformed(evt);
                }
            });
    
            javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
            getContentPane().setLayout(layout);
            layout.setHorizontalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(layout.createSequentialGroup()
                    .addGap(97, 97, 97)
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addComponent(jLabel2)
                        .addComponent(jLabel3))
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                        .addComponent(LoginPwd)
                        .addComponent(LoginName, javax.swing.GroupLayout.DEFAULT_SIZE, 215, Short.MAX_VALUE))
                    .addContainerGap(88, Short.MAX_VALUE))
                .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                    .addContainerGap(130, Short.MAX_VALUE)
                    .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 263, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGap(113, 113, 113))
                .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                    .addContainerGap(299, Short.MAX_VALUE)
                    .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 97, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGap(110, 110, 110))
            );
            layout.setVerticalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(layout.createSequentialGroup()
                    .addGap(50, 50, 50)
                    .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 45, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGap(38, 38, 38)
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(jLabel2)
                        .addComponent(LoginName, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGap(26, 26, 26)
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(jLabel3)
                        .addComponent(LoginPwd, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGap(18, 18, 18)
                    .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 36, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addContainerGap(21, Short.MAX_VALUE))
            );
    
            pack();
        }// </editor-fold>                        
    
        private void LoginNameActionPerformed(java.awt.event.ActionEvent evt) {                                          
            // TODO add your handling code here:
    }                                         
    
        private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
            
            //1.先获取username和password
            String name = LoginName.getText();
            String password = new String(LoginPwd.getPassword());
            //2.进行验证
            if("admin".equals(name)&&"admin".equals(password))
            {
                //登陆成功
                //隐藏LoginForm,显示MainForm
                this.setVisible(false);
                new MainForm().setVisible(true);
            }
            else
            {
                //登录失败
               JOptionPane.showMessageDialog(this, "username或password错误!");
            }
    
        }                                        
    
        private void formKeyPressed(java.awt.event.KeyEvent evt) {                                
           //敲击键盘登陆
             
        }                               
    
        private void LoginNameKeyPressed(java.awt.event.KeyEvent evt) {                                     
            //敲击键盘登陆
            if(evt.getKeyText(evt.getKeyCode()).compareToIgnoreCase("Enter")==0)
            {
                jButton1.doClick(); 
            }
        }                                    
    
        private void LoginPwdKeyPressed(java.awt.event.KeyEvent evt) {                                    
            //敲击键盘登陆
            if(evt.getKeyText(evt.getKeyCode()).compareToIgnoreCase("Enter")==0)
            {
                jButton1.doClick();
            }
        }                                   
    
        /**
        * @param args the command line arguments
        */
        public static void main(String args[]) {
            java.awt.EventQueue.invokeLater(new Runnable() {
                public void run() {
                    new LoginForm().setVisible(true);
                }
            });
        }
    
        // Variables declaration - do not modify                     
        private javax.swing.JTextField LoginName;
        private javax.swing.JPasswordField LoginPwd;
        private javax.swing.JButton jButton1;
        private javax.swing.JLabel jLabel1;
        private javax.swing.JLabel jLabel2;
        private javax.swing.JLabel jLabel3;
        // End of variables declaration                   
    
    }
    
    


     

    MainForm.java

    /*
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     */
    
    /*
     * MainForm.java
     *
     * Created on 2013-2-26, 18:35:25
     */
    
    package com.liu.view;
    
    /**
     *
     * @author asus
     */
    public class MainForm extends javax.swing.JFrame {
    
        /** Creates new form MainForm */
        public MainForm() {
            initComponents();
            
        }
    
        /** This method is called from within the constructor to
         * initialize the form.
         * WARNING: Do NOT modify this code. The content of this method is
         * always regenerated by the Form Editor.
         */
        @SuppressWarnings("unchecked")
        // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
        private void initComponents() {
    
            jLabel1 = new javax.swing.JLabel();
            jPanel1 = new javax.swing.JPanel();
            jLabel2 = new javax.swing.JLabel();
            jMenuBar1 = new javax.swing.JMenuBar();
            配置管理 = new javax.swing.JMenu();
            jMenuItem1 = new javax.swing.JMenuItem();
            jMenuItem2 = new javax.swing.JMenuItem();
            jMenu2 = new javax.swing.JMenu();
            jMenuItem4 = new javax.swing.JMenuItem();
            jMenu1 = new javax.swing.JMenu();
            jMenuItem3 = new javax.swing.JMenuItem();
    
            setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
            setTitle("图书管理系统");
            setBounds(new java.awt.Rectangle(80, 60, 0, 0));
            setIconImage(new javax.swing.ImageIcon(getClass().getResource("/com/liu/resouce/logo.jpg")).getImage());
    
            jLabel1.setFont(new java.awt.Font("宋体", 0, 48));
            jLabel1.setForeground(new java.awt.Color(0, 204, 51));
            jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/liu/resouce/main.jpg"))); // NOI18N
    
            jLabel2.setFont(new java.awt.Font("宋体", 0, 48));
            jLabel2.setForeground(new java.awt.Color(0, 0, 255));
            jLabel2.setText("欢迎使用图书借阅管理系统");
    
            javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
            jPanel1.setLayout(jPanel1Layout);
            jPanel1Layout.setHorizontalGroup(
                jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(jPanel1Layout.createSequentialGroup()
                    .addGap(38, 38, 38)
                    .addComponent(jLabel2)
                    .addContainerGap(63, Short.MAX_VALUE))
            );
            jPanel1Layout.setVerticalGroup(
                jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
                    .addContainerGap()
                    .addComponent(jLabel2, javax.swing.GroupLayout.DEFAULT_SIZE, 78, Short.MAX_VALUE))
            );
    
            配置管理.setText("配置管理");
    
            jMenuItem1.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_L, java.awt.event.InputEvent.CTRL_MASK));
            jMenuItem1.setText("类别管理");
            jMenuItem1.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    jMenuItem1ActionPerformed(evt);
                }
            });
            配置管理.add(jMenuItem1);
    
            jMenuItem2.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_T, java.awt.event.InputEvent.CTRL_MASK));
            jMenuItem2.setText("图书管理");
            jMenuItem2.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    jMenuItem2ActionPerformed(evt);
                }
            });
            配置管理.add(jMenuItem2);
    
            jMenuBar1.add(配置管理);
    
            jMenu2.setText("借书");
    
            jMenuItem4.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_J, java.awt.event.InputEvent.CTRL_MASK));
            jMenuItem4.setText("租书");
            jMenu2.add(jMenuItem4);
    
            jMenuBar1.add(jMenu2);
    
            jMenu1.setText("还书");
    
            jMenuItem3.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_H, java.awt.event.InputEvent.CTRL_MASK));
            jMenuItem3.setText("还书");
            jMenu1.add(jMenuItem3);
    
            jMenuBar1.add(jMenu1);
    
            setJMenuBar(jMenuBar1);
    
            javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
            getContentPane().setLayout(layout);
            layout.setHorizontalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addComponent(jLabel1, 0, 0, Short.MAX_VALUE)
                .addGroup(layout.createSequentialGroup()
                    .addGap(22, 22, 22)
                    .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addContainerGap())
            );
            layout.setVerticalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                    .addContainerGap()
                    .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                    .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 411, javax.swing.GroupLayout.PREFERRED_SIZE))
            );
    
            pack();
        }// </editor-fold>                        
    
        private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {                                           
            // 类型管理
             new TypeForm().setVisible(true);
        }                                          
    
        private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {                                           
            // 图书管理
            new BookForm().setVisible(true);
        }                                          
    
        /**
        * @param args the command line arguments
        */
        public static void main(String args[]) {
            java.awt.EventQueue.invokeLater(new Runnable() {
                public void run() {
                    new MainForm().setVisible(true);
                }
            });
        }
    
        // Variables declaration - do not modify                     
        private javax.swing.JLabel jLabel1;
        private javax.swing.JLabel jLabel2;
        private javax.swing.JMenu jMenu1;
        private javax.swing.JMenu jMenu2;
        private javax.swing.JMenuBar jMenuBar1;
        private javax.swing.JMenuItem jMenuItem1;
        private javax.swing.JMenuItem jMenuItem2;
        private javax.swing.JMenuItem jMenuItem3;
        private javax.swing.JMenuItem jMenuItem4;
        private javax.swing.JPanel jPanel1;
        private javax.swing.JMenu 配置管理;
        // End of variables declaration                   
    
    }
    


     

    BookForm.java

    /*
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     */
    
    /*
     * BookForm.java
     *
     * Created on 2013-2-28, 8:23:01
     */
    
    package com.liu.view;
    
    import com.liu.dao.BookDAO;
    import com.liu.dao.TypeDAO;
    import com.liu.po.BookBean;
    import com.liu.po.TypeBean;
    import java.util.Map;
    import java.util.Set;
    import java.util.Vector;
    import javax.swing.DefaultComboBoxModel;
    import javax.swing.JOptionPane;
    import javax.swing.table.DefaultTableModel;
    
    /**
     *
     * @author asus
     */
    public class BookForm extends javax.swing.JFrame {
    
    
        /** Creates new form BookForm */
        private Map<Integer,BookBean> map;
         private Map<Integer,TypeBean> map1;
        private BookDAO bookDao;
        private TypeDAO typeDao;
       
        public BookForm() {
            initComponents();
            bookDao = new BookDAO();
            typeDao = new TypeDAO();
            map = bookDao.readBook();
            map1 = typeDao.readType();
            initType();
           initData();
        }
    
        /** This method is called from within the constructor to
         * initialize the form.
         * WARNING: Do NOT modify this code. The content of this method is
         * always regenerated by the Form Editor.
         */
        @SuppressWarnings("unchecked")
        // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
        private void initComponents() {
    
            jPanel1 = new javax.swing.JPanel();
            jScrollPane1 = new javax.swing.JScrollPane();
            bookTable = new javax.swing.JTable();
            jPanel2 = new javax.swing.JPanel();
            bmemo = new javax.swing.JTextField();
            jButton1 = new javax.swing.JButton();
            jButton2 = new javax.swing.JButton();
            jButton3 = new javax.swing.JButton();
            jButton4 = new javax.swing.JButton();
            jLabel1 = new javax.swing.JLabel();
            jLabel2 = new javax.swing.JLabel();
            jLabel3 = new javax.swing.JLabel();
            jLabel4 = new javax.swing.JLabel();
            bid = new javax.swing.JTextField();
            bname = new javax.swing.JTextField();
            btype = new javax.swing.JComboBox();
            jLabel5 = new javax.swing.JLabel();
            bmoney = new javax.swing.JTextField();
    
            setTitle("图书管理");
            setBounds(new java.awt.Rectangle(100, 50, 0, 0));
            setIconImage(new javax.swing.ImageIcon(getClass().getResource("/com/liu/resouce/logo.jpg")).getImage());
    
            bookTable.setFont(new java.awt.Font("宋体", 0, 18)); // NOI18N
            bookTable.setModel(new javax.swing.table.DefaultTableModel(
                new Object [][] {
                    {null, null, null, null, null},
                    {null, null, null, null, null},
                    {null, null, null, null, null},
                    {null, null, null, null, null},
                    {null, null, null, null, null},
                    {null, null, null, null, null},
                    {null, null, null, null, null},
                    {null, null, null, null, null},
                    {null, null, null, null, null},
                    {null, null, null, null, null}
                },
                new String [] {
                    "序号", "图书名称", "图书类型", "租金", "备注"
                }
            ) {
                Class[] types = new Class [] {
                    java.lang.Integer.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class
                };
                boolean[] canEdit = new boolean [] {
                    false, false, false, false, false
                };
    
                public Class getColumnClass(int columnIndex) {
                    return types [columnIndex];
                }
    
                public boolean isCellEditable(int rowIndex, int columnIndex) {
                    return canEdit [columnIndex];
                }
            });
            bookTable.addMouseListener(new java.awt.event.MouseAdapter() {
                public void mouseClicked(java.awt.event.MouseEvent evt) {
                    bookTableMouseClicked(evt);
                }
            });
            jScrollPane1.setViewportView(bookTable);
    
            jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "具体信息", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("宋体", 0, 18))); // NOI18N
    
            bmemo.setFont(new java.awt.Font("宋体", 0, 18));
    
            jButton1.setText("新增");
            jButton1.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    jButton1ActionPerformed(evt);
                }
            });
    
            jButton2.setText("保存");
            jButton2.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    jButton2ActionPerformed(evt);
                }
            });
    
            jButton3.setText("更新");
            jButton3.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    jButton3ActionPerformed(evt);
                }
            });
    
            jButton4.setText("删除");
            jButton4.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    jButton4ActionPerformed(evt);
                }
            });
    
            jLabel1.setFont(new java.awt.Font("宋体", 0, 18));
            jLabel1.setText("序号:");
    
            jLabel2.setFont(new java.awt.Font("宋体", 0, 18));
            jLabel2.setText("名称:");
    
            jLabel3.setFont(new java.awt.Font("宋体", 0, 18));
            jLabel3.setText("类型:");
    
            jLabel4.setFont(new java.awt.Font("宋体", 0, 18));
            jLabel4.setText("备注:");
    
            bid.setFont(new java.awt.Font("宋体", 0, 18));
    
            bname.setFont(new java.awt.Font("宋体", 0, 18));
    
            btype.setFont(new java.awt.Font("宋体", 0, 18));
            btype.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "文学类", "教育类", "科技类", "文艺类" }));
            btype.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    btypeActionPerformed(evt);
                }
            });
    
            jLabel5.setFont(new java.awt.Font("宋体", 0, 18));
            jLabel5.setText("租金:");
    
            javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
            jPanel2.setLayout(jPanel2Layout);
            jPanel2Layout.setHorizontalGroup(
                jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(jPanel2Layout.createSequentialGroup()
                    .addGap(33, 33, 33)
                    .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addGroup(jPanel2Layout.createSequentialGroup()
                            .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addComponent(jLabel2, javax.swing.GroupLayout.DEFAULT_SIZE, 83, Short.MAX_VALUE)
                                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                                    .addComponent(jLabel3)
                                    .addComponent(jLabel5)
                                    .addComponent(jLabel4)))
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED))
                        .addGroup(jPanel2Layout.createSequentialGroup()
                            .addComponent(jLabel1)
                            .addGap(33, 33, 33)))
                    .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addComponent(bmemo, javax.swing.GroupLayout.DEFAULT_SIZE, 375, Short.MAX_VALUE)
                        .addComponent(bid, javax.swing.GroupLayout.DEFAULT_SIZE, 375, Short.MAX_VALUE)
                        .addComponent(bname, javax.swing.GroupLayout.DEFAULT_SIZE, 375, Short.MAX_VALUE)
                        .addComponent(bmoney, javax.swing.GroupLayout.DEFAULT_SIZE, 375, Short.MAX_VALUE)
                        .addGroup(jPanel2Layout.createSequentialGroup()
                            .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 73, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGap(28, 28, 28)
                            .addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 69, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGap(30, 30, 30)
                            .addComponent(jButton3, javax.swing.GroupLayout.PREFERRED_SIZE, 73, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 28, Short.MAX_VALUE)
                            .addComponent(jButton4, javax.swing.GroupLayout.PREFERRED_SIZE, 74, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addComponent(btype, 0, 375, Short.MAX_VALUE))
                    .addGap(65, 65, 65))
            );
            jPanel2Layout.setVerticalGroup(
                jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()
                    .addContainerGap()
                    .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(bid, javax.swing.GroupLayout.PREFERRED_SIZE, 37, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGap(13, 13, 13)
                    .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(jLabel2)
                        .addComponent(bname, javax.swing.GroupLayout.PREFERRED_SIZE, 37, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGap(18, 18, 18)
                    .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(jLabel3)
                        .addComponent(btype, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGap(26, 26, 26)
                    .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(jLabel5)
                        .addComponent(bmoney, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGap(32, 32, 32)
                    .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addGroup(jPanel2Layout.createSequentialGroup()
                            .addComponent(bmemo, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGap(64, 64, 64)
                            .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(jButton3, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(jButton4, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)))
                        .addComponent(jLabel4))
                    .addGap(22, 22, 22))
            );
    
            javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
            jPanel1.setLayout(jPanel1Layout);
            jPanel1Layout.setHorizontalGroup(
                jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addComponent(jScrollPane1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 795, Short.MAX_VALUE)
                .addGroup(jPanel1Layout.createSequentialGroup()
                    .addGap(50, 50, 50)
                    .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addContainerGap(173, Short.MAX_VALUE))
            );
            jPanel1Layout.setVerticalGroup(
                jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(jPanel1Layout.createSequentialGroup()
                    .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 192, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGap(10, 10, 10)
                    .addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
            );
    
            javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
            getContentPane().setLayout(layout);
            layout.setHorizontalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
            );
            layout.setVerticalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
            );
    
            pack();
        }// </editor-fold>                        
        //表格数据的初始化
        public void initData(){
            //载入数据
            DefaultTableModel dtm = (DefaultTableModel)bookTable.getModel();
            //清空表
            while(dtm.getRowCount()>0){
                dtm.removeRow(0);
            }
            //载入数据
            Set<Integer>set = map.keySet();
            for(Integer i:set){
                BookBean bean = map.get(i);
                Vector v = new Vector();
                v.add(bean.getId());
                v.add(bean.getBookName());
                v.add(bean.getBookType());
                v.add(bean.getMoney());
                v.add(bean.getMemo());
                dtm.addRow(v);
            }
        }
          //获取类别管理的全部类别
         public void initType(){
            Set<Integer> set = map1.keySet();
            DefaultComboBoxModel dcm = (DefaultComboBoxModel)btype.getModel();
            dcm.removeAllElements();
            for(Integer i:set){
                TypeBean bean = map1.get(i);
                dcm.addElement(bean.getTypeName());
            }
    
         }
        private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
            // 保存功能
             //先保存文本框里的值
            String id = bid.getText();
            String bookName = bname.getText();
            String bookType = (String) btype.getSelectedItem();
            String memo = bmemo.getText();
            String money = bmoney.getText();
    
            //封装成对象
            BookBean bean = new BookBean();
    
            bean.setId(Integer.parseInt(id));
            bean.setBookName(bookName);
            bean.setBookType(bookType);
            bean.setMemo(memo);
            bean.setMoney(money);
    
            //将bean放到map里面
                   // Map<Integer,TypeBean>map = new HashMap<Integer,TypeBean>();
            map.put(Integer.parseInt(id), bean);
            //将map放到文件中面
            bookDao.writeBook(map);
            //刷新table
            initData();
        }                                        
    
        private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
             // 新增时,将文本框里的信息进行清空,并将序列号置为可编辑。
            bid.setEnabled(true);
    
            bid.setText("");
            bname.setText("");
            btype.setSelectedItem("");
            bmemo.setText("");
            bmoney.setText("");
    
        }                                        
    
        private void bookTableMouseClicked(java.awt.event.MouseEvent evt) {                                       
            //获取选中行号及序列号
            int currentRow = bookTable.getSelectedRow();
            //BookBean bean = map.get( currentRow);
             // 将选中的行,显示到信息栏中
            bid.setText((Integer) bookTable.getValueAt(currentRow, 0)+"");
            bname.setText((String) bookTable.getValueAt(currentRow, 1));
            btype.setSelectedItem((String) bookTable.getValueAt(currentRow, 2));
            bmoney.setText((String) bookTable.getValueAt(currentRow, 3));
            bmemo.setText((String) bookTable.getValueAt(currentRow, 4));
    
            //bmemo.setText(bean.getMemo());
        
            bid.setEnabled(false);  //序号框不可编辑
        }                                      
    
        private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {                                         
             // 删除操作
            //获取选中行号及序列号
            int currentRow = bookTable.getSelectedRow();
            int id = (Integer)bookTable.getValueAt(currentRow, 0);
            map.remove(id);
            bookDao.writeBook(map);
            JOptionPane.showMessageDialog(this,"类别删除成功");
            initData();
        }                                        
    
        private void btypeActionPerformed(java.awt.event.ActionEvent evt) {                                      
            // TODO add your handling code here:
    }                                     
    
        private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {                                         
            // 更新操作
            //先保存文本框里的值
            int currentRow = bookTable.getSelectedRow();
            int id = (Integer) bookTable.getValueAt(currentRow, 0);
    
            String bookName = bname.getText();
            String bookType = (String) btype.getSelectedItem();
            String memo = bmemo.getText();
            String money = bmoney.getText();
            //封装成对象
            BookBean bean = new BookBean();
            bean.setId(id);
            bean.setBookName(bookName);
            bean.setBookType(bookType);
            bean.setMemo(memo);
            bean.setMoney(money);
    
            //将bean放到map里面
                   // Map<Integer,TypeBean>map = new HashMap<Integer,TypeBean>();
            map.put(id, bean);
            //将map放到文件中面
            bookDao.writeBook(map);
            //刷新table
            JOptionPane.showMessageDialog(this,"类别更新成功");
            initData();
        }                                        
    
        /**
        * @param args the command line arguments
        */
        public static void main(String args[]) {
            java.awt.EventQueue.invokeLater(new Runnable() {
                public void run() {
                    new BookForm().setVisible(true);
                }
            });
        }
    
        // Variables declaration - do not modify                     
        private javax.swing.JTextField bid;
        private javax.swing.JTextField bmemo;
        private javax.swing.JTextField bmoney;
        private javax.swing.JTextField bname;
        private javax.swing.JTable bookTable;
        private javax.swing.JComboBox btype;
        private javax.swing.JButton jButton1;
        private javax.swing.JButton jButton2;
        private javax.swing.JButton jButton3;
        private javax.swing.JButton jButton4;
        private javax.swing.JLabel jLabel1;
        private javax.swing.JLabel jLabel2;
        private javax.swing.JLabel jLabel3;
        private javax.swing.JLabel jLabel4;
        private javax.swing.JLabel jLabel5;
        private javax.swing.JPanel jPanel1;
        private javax.swing.JPanel jPanel2;
        private javax.swing.JScrollPane jScrollPane1;
        // End of variables declaration                   
    
    }
    


     

    TypeForm.java

    /*
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     */
    
    /*
     * TypeForm.java
     *
     * Created on 2013-2-26, 19:07:51
     */
    
    package com.liu.view;
    import com.liu.dao.TypeDAO;
    import com.liu.po.TypeBean;
    import java.util.HashMap;
    import java.util.Map;
    import java.util.Set;
    import java.util.Vector;
    import javax.swing.JOptionPane;
    import javax.swing.table.DefaultTableModel;
    
    /**
     *
     * @author asus
     */
    public class TypeForm extends javax.swing.JFrame {
    
        private TypeDAO typeDao;
        private Map<Integer,TypeBean> map;
        /** Creates new form TypeForm */
        public TypeForm() {
            initComponents();
            typeDao = new TypeDAO();
            map = typeDao.readType();
            initData();
        }
    
        /** This method is called from within the constructor to
         * initialize the form.
         * WARNING: Do NOT modify this code. The content of this method is
         * always regenerated by the Form Editor.
         */
        @SuppressWarnings("unchecked")
        // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
        private void initComponents() {
    
            jPanel1 = new javax.swing.JPanel();
            jScrollPane1 = new javax.swing.JScrollPane();
            typeTable = new javax.swing.JTable();
            jPanel2 = new javax.swing.JPanel();
            jLabel1 = new javax.swing.JLabel();
            jLabel2 = new javax.swing.JLabel();
            jLabel3 = new javax.swing.JLabel();
            tid = new javax.swing.JTextField();
            tname = new javax.swing.JTextField();
            jScrollPane2 = new javax.swing.JScrollPane();
            tmemo = new javax.swing.JTextArea();
            jButton1 = new javax.swing.JButton();
            jButton3 = new javax.swing.JButton();
            jButton4 = new javax.swing.JButton();
            jButton5 = new javax.swing.JButton();
    
            setTitle("类型管理");
            setBounds(new java.awt.Rectangle(100, 50, 0, 0));
            setIconImage(new javax.swing.ImageIcon(getClass().getResource("/com/liu/resouce/logo.jpg")).getImage());
    
            typeTable.setFont(new java.awt.Font("宋体", 0, 18));
            typeTable.setModel(new javax.swing.table.DefaultTableModel(
                new Object [][] {
                    {null, null, null},
                    {null, null, null},
                    {null, null, null},
                    {null, null, null}
                },
                new String [] {
                    "序号", "类别名称", "备注"
                }
            ) {
                Class[] types = new Class [] {
                    java.lang.Integer.class, java.lang.String.class, java.lang.String.class
                };
                boolean[] canEdit = new boolean [] {
                    false, false, false
                };
    
                public Class getColumnClass(int columnIndex) {
                    return types [columnIndex];
                }
    
                public boolean isCellEditable(int rowIndex, int columnIndex) {
                    return canEdit [columnIndex];
                }
            });
            typeTable.setColumnSelectionAllowed(true);
            typeTable.addMouseListener(new java.awt.event.MouseAdapter() {
                public void mouseClicked(java.awt.event.MouseEvent evt) {
                    typeTableMouseClicked(evt);
                }
            });
            typeTable.addContainerListener(new java.awt.event.ContainerAdapter() {
                public void componentAdded(java.awt.event.ContainerEvent evt) {
                    typeTableComponentAdded(evt);
                }
            });
            jScrollPane1.setViewportView(typeTable);
            typeTable.getColumnModel().getSelectionModel().setSelectionMode(javax.swing.ListSelectionModel.SINGLE_INTERVAL_SELECTION);
            typeTable.getColumnModel().getColumn(0).setResizable(false);
            typeTable.getColumnModel().getColumn(2).setResizable(false);
    
            jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "类别信息", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("宋体", 0, 18))); // NOI18N
    
            jLabel1.setFont(new java.awt.Font("宋体", 0, 18));
            jLabel1.setText("序号:");
    
            jLabel2.setFont(new java.awt.Font("宋体", 0, 18));
            jLabel2.setText("类别名称:");
    
            jLabel3.setFont(new java.awt.Font("宋体", 0, 18));
            jLabel3.setText("备注:");
    
            tid.setFont(new java.awt.Font("宋体", 0, 18));
            tid.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    tidActionPerformed(evt);
                }
            });
    
            tname.setFont(new java.awt.Font("宋体", 0, 18));
    
            tmemo.setColumns(20);
            tmemo.setFont(new java.awt.Font("Monospaced", 0, 18));
            tmemo.setRows(5);
            jScrollPane2.setViewportView(tmemo);
    
            jButton1.setText("保存");
            jButton1.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    jButton1ActionPerformed(evt);
                }
            });
    
            jButton3.setText("更新");
            jButton3.addMouseListener(new java.awt.event.MouseAdapter() {
                public void mouseClicked(java.awt.event.MouseEvent evt) {
                    jButton3MouseClicked(evt);
                }
            });
            jButton3.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    jButton3ActionPerformed(evt);
                }
            });
    
            jButton4.setText("删除");
            jButton4.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    jButton4ActionPerformed(evt);
                }
            });
    
            jButton5.setText("新增");
            jButton5.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    jButton5ActionPerformed(evt);
                }
            });
    
            javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
            jPanel2.setLayout(jPanel2Layout);
            jPanel2Layout.setHorizontalGroup(
                jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(jPanel2Layout.createSequentialGroup()
                    .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addGroup(jPanel2Layout.createSequentialGroup()
                            .addGap(39, 39, 39)
                            .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addGroup(jPanel2Layout.createSequentialGroup()
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                    .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 90, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                    .addComponent(tname, javax.swing.GroupLayout.DEFAULT_SIZE, 341, Short.MAX_VALUE))
                                .addGroup(jPanel2Layout.createSequentialGroup()
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                    .addComponent(jLabel3)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                    .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 383, javax.swing.GroupLayout.PREFERRED_SIZE))
                                .addGroup(jPanel2Layout.createSequentialGroup()
                                    .addComponent(jLabel1)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                    .addComponent(tid, javax.swing.GroupLayout.DEFAULT_SIZE, 383, Short.MAX_VALUE))))
                        .addGroup(jPanel2Layout.createSequentialGroup()
                            .addGap(70, 70, 70)
                            .addComponent(jButton5, javax.swing.GroupLayout.PREFERRED_SIZE, 69, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGap(41, 41, 41)
                            .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 68, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGap(37, 37, 37)
                            .addComponent(jButton3, javax.swing.GroupLayout.PREFERRED_SIZE, 68, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 40, Short.MAX_VALUE)
                            .addComponent(jButton4, javax.swing.GroupLayout.PREFERRED_SIZE, 67, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGap(20, 20, 20)))
                    .addGap(83, 83, 83))
            );
            jPanel2Layout.setVerticalGroup(
                jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(jPanel2Layout.createSequentialGroup()
                    .addGap(31, 31, 31)
                    .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 21, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(tid, javax.swing.GroupLayout.PREFERRED_SIZE, 34, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGap(27, 27, 27)
                    .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 21, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(tname, javax.swing.GroupLayout.PREFERRED_SIZE, 34, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addGroup(jPanel2Layout.createSequentialGroup()
                            .addGap(45, 45, 45)
                            .addComponent(jLabel3))
                        .addGroup(jPanel2Layout.createSequentialGroup()
                            .addGap(24, 24, 24)
                            .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 92, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addGap(35, 35, 35)
                    .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(jButton5, javax.swing.GroupLayout.PREFERRED_SIZE, 34, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 33, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(jButton3, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(jButton4, javax.swing.GroupLayout.PREFERRED_SIZE, 33, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGap(18, 18, 18))
            );
    
            javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
            jPanel1.setLayout(jPanel1Layout);
            jPanel1Layout.setHorizontalGroup(
                jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(jPanel1Layout.createSequentialGroup()
                    .addGap(66, 66, 66)
                    .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addContainerGap(55, Short.MAX_VALUE))
                .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 696, Short.MAX_VALUE)
            );
            jPanel1Layout.setVerticalGroup(
                jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(jPanel1Layout.createSequentialGroup()
                    .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 177, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGap(18, 18, 18)
                    .addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, 361, Short.MAX_VALUE)
                    .addContainerGap())
            );
    
            javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
            getContentPane().setLayout(layout);
            layout.setHorizontalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
            );
            layout.setVerticalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(layout.createSequentialGroup()
                    .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
            );
    
            pack();
        }// </editor-fold>                        
    
        //表格数据的初始化
        public void initData(){
            //载入数据
            DefaultTableModel dtm = (DefaultTableModel)typeTable.getModel();
            //清空表
            while(dtm.getRowCount()>0){
                dtm.removeRow(0);
            }
            //载入数据
            Set<Integer>set = map.keySet();
            for(Integer i:set){
                TypeBean bean = map.get(i);
                Vector v = new Vector();
                v.add(bean.getId());
                v.add(bean.getTypeName());
                v.add(bean.getMemo());
                dtm.addRow(v);
            }
        }
    
        private void tidActionPerformed(java.awt.event.ActionEvent evt) {                                    
            // TODO add your handling code here:
    }                                   
    
        private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
            //保存类型操作
           //先保存文本框里的值
            String id = tid.getText();
            String typeName = tname.getText();
            String memo = tmemo.getText();
            //封装成对象
            TypeBean bean = new TypeBean();
            bean.setId(Integer.parseInt(id));
            bean.setMemo(memo);
            bean.setTypeName(typeName);
            //将bean放到map里面
                   // Map<Integer,TypeBean>map = new HashMap<Integer,TypeBean>();
            map.put(Integer.parseInt(id), bean);
            //将map放到文件中面
            typeDao.writeType(map);
            //刷新table
            initData();
        }                                        
    
        private void typeTableComponentAdded(java.awt.event.ContainerEvent evt) {                                         
            // TODO add your handling code here:
    }                                        
    
        private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {                                         
            // 删除操作
            //获取选中行号及序列号
            int currentRow = typeTable.getSelectedRow();
            int id = (Integer)typeTable.getValueAt(currentRow, 0);
            map.remove(id);
            typeDao.writeType(map);
            JOptionPane.showMessageDialog(this,"类别删除成功");
            initData();
        }                                        
    
        private void jButton3MouseClicked(java.awt.event.MouseEvent evt) {                                      
    
    
        }                                     
    
        private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {                                         
            // 更新操作
            //先保存文本框里的值
            int currentRow = typeTable.getSelectedRow();
            int id = (Integer) typeTable.getValueAt(currentRow, 0);
            
            String typeName = tname.getText();
            String memo = tmemo.getText();
            //封装成对象
            TypeBean bean = new TypeBean();
            bean.setId(id);
            bean.setMemo(memo);
            bean.setTypeName(typeName);
            //将bean放到map里面
                   // Map<Integer,TypeBean>map = new HashMap<Integer,TypeBean>();
            map.put(id, bean);
            //将map放到文件中面
            typeDao.writeType(map);
            //刷新table
            JOptionPane.showMessageDialog(this,"类别更新成功");
            initData();
        }                                        
    
        private void typeTableMouseClicked(java.awt.event.MouseEvent evt) {                                       
             //获取选中行号及序列号
            int currentRow = typeTable.getSelectedRow();
             // 将选中的行,显示到信息栏中
            tid.setText((Integer) typeTable.getValueAt(currentRow, 0)+"");
            tname.setText((String) typeTable.getValueAt(currentRow, 1));
            tmemo.setText((String) typeTable.getValueAt(currentRow, 2));
    
            tid.setEnabled(false);  //序号框不可编辑
    
        }                                      
    
        private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {                                         
            // 新增时,将文本框里的信息进行清空,并将序列号置为可编辑。
            tid.setEnabled(true);
            tid.setText("");
            tname.setText("");
            tmemo.setText("");
    
        }                                        
    
        /**
        * @param args the command line arguments
        */
        public static void main(String args[]) {
            java.awt.EventQueue.invokeLater(new Runnable() {
                public void run() {
                    new TypeForm().setVisible(true);
                }
            });
        }
    
        // Variables declaration - do not modify                     
        private javax.swing.JButton jButton1;
        private javax.swing.JButton jButton3;
        private javax.swing.JButton jButton4;
        private javax.swing.JButton jButton5;
        private javax.swing.JLabel jLabel1;
        private javax.swing.JLabel jLabel2;
        private javax.swing.JLabel jLabel3;
        private javax.swing.JPanel jPanel1;
        private javax.swing.JPanel jPanel2;
        private javax.swing.JScrollPane jScrollPane1;
        private javax.swing.JScrollPane jScrollPane2;
        private javax.swing.JTextField tid;
        private javax.swing.JTextArea tmemo;
        private javax.swing.JTextField tname;
        private javax.swing.JTable typeTable;
        // End of variables declaration                   
    
    }
    
    
    
    
    


  • 相关阅读:
    无监督聚类K-means算法
    Python程序执行顺序
    修改jupyter notebook响应的浏览器
    Vijos1035 贪婪的送礼者 [map的应用]
    POJ 2976 Dropping tests [二分]
    POJ 3111 K Best 最大化平均值 [二分]
    HDU 2899 Strange fuction [二分]
    HDU 2141 can you find it [二分]
    HDU 4004 The Frog's Games [二分]
    HDU 1969 Pie [二分]
  • 原文地址:https://www.cnblogs.com/hrhguanli/p/4544048.html
Copyright © 2011-2022 走看看