温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何使用java代码实现图书管理系统

发布时间:2021-08-06 11:02:35 来源:亿速云 阅读:226 作者:小新 栏目:编程语言

这篇文章主要介绍如何使用java代码实现图书管理系统,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

具体内容如下

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

* 对任务及求解方法的描述部分
* 问题描述: 
* 程序头部的注释结束
*/

文件包的建立情况:

如何使用java代码实现图书管理系统

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("用户名:");     jLabel3.setFont(new java.awt.Font("宋体", 0, 24));   jLabel3.setText("密码:");     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.先获取用户名和密码   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, "用户名或密码错误!");   }     }      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    }

如何使用java代码实现图书管理系统

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    }

如何使用java代码实现图书管理系统

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    }

如何使用java代码实现图书管理系统

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    }

如何使用java代码实现图书管理系统

以上是“如何使用java代码实现图书管理系统”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI