《图书管理系统——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(""); // NOI18NLoginName.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)); // NOI18NjButton1.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和passwordString name = LoginName.getText();String password = new String(LoginPwd.getPassword());//2.進行驗證if("admin".equals(name)&&"admin".equals(password)){//登陸成功//隱藏LoginForm,顯示MainFormthis.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"))); // NOI18NjLabel2.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)); // NOI18NbookTable.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))); // NOI18Nbmemo.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);//刷新tableinitData();} 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);//刷新tableJOptionPane.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))); // NOI18NjLabel1.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);//刷新tableinitData();} 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);//刷新tableJOptionPane.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》的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Dart的HTTP请求和响应(1)
- 下一篇: Android中图片优化之webp使用