码迷,mamicode.com
首页 > 编程语言 > 详细

Java之------单机版书店管理系统(设计思想和设计模式系列二)用户模块

时间:2016-05-26 01:10:26      阅读:310      评论:0      收藏:0      [点我收藏+]

标签:

书店管理系统

书店管理系统可以说是设计模式及设计思想的一个比较经典的例子。

本系列将分为多个部分讲述此输电管理系统。

书店管理系统将分为:用户、图书、进货、销售和库存五个模块,另外还有公共包、工具包和登录包,另外还有一个框架。

对于分层设计,都是表现层可以调用逻辑层,逻辑层调用数据层,数据层调用工具和公共包,方向不可打乱,必须严格按照这种模式。

本篇将做用户模块部分。


如前面所言,用户模块分为了数据层、业务逻辑层、表现层和值对象层

数据层和逻辑层又分了接口、实现和工厂三个包,里面分别存放接口、实现类和工厂类

表现层写的则是图形界面的文件


本系列所有的表现层界面全部都用面板写,因此需要有一个JFrame来承载,在这里写掉JFrame,后面的图形界面都用这个。

框架:

[java] view plain copy
 技术分享技术分享
  1. /* 
  2.  * BookStore.java 
  3.  * 
  4.  * Created on __DATE__, __TIME__ 
  5.  */  
  6.   
  7. package cn.hncu;  
  8.   
  9. import java.awt.event.ActionEvent;  
  10.   
  11. import javax.swing.Icon;  
  12. import javax.swing.ImageIcon;  
  13. import javax.swing.JLabel;  
  14. import javax.swing.JPanel;  
  15.   
  16. import cn.hncu.book.ui.BookListPanel;  
  17. import cn.hncu.login.ui.LoginPanel;  
  18. import cn.hncu.out.ui.ListPanel;  
  19. import cn.hncu.user.ui.UserListPanel;  
  20.   
  21. /** 
  22.  * 
  23.  * @author  __USER__ 
  24.  */  
  25. public class BookStore extends javax.swing.JFrame {  
  26.     private final String dir = "./Images/";  
  27.   
  28.     /** Creates new form BookStore */  
  29.     public BookStore() {  
  30.         setBack();  
  31.         initComponents();  
  32.         this.setContentPane(new LoginPanel(this));  
  33.         this.validate();  
  34.     }  
  35.   
  36.     private void setBack() {  
  37.         //把当前JFrame的内容窗格设成透明,这样放在其中的组件就能够显示出背景  
  38.         ((JPanel) (this.getContentPane())).setOpaque(false);//1  
  39.   
  40.         Icon bgImage = new ImageIcon(dir + "bg.png");//路径从项目根目录  
  41.         //Icon bgImage = new ImageIcon(dir+"a.gif");//显示gif动态图也可以  
  42.         JLabel bgLabel = new JLabel(bgImage);  
  43.         //根据给的整数值决定在上层还是下层显示,数值越小显示在越下面的位置  
  44.         this.getLayeredPane().add(bgLabel, new Integer(Integer.MIN_VALUE));//2  
  45.         bgLabel  
  46.                 .setBounds(00, bgImage.getIconWidth(), bgImage  
  47.                         .getIconHeight());//3  
  48.   
  49.         //以下是测试,看看上面的图片是不是能够显示成背景  
  50.         //      JButton btn = new JButton("OK");  
  51.         //      this.getLayeredPane().add(btn);  
  52.         //      btn.setBounds(100, 100, 80, 50);  
  53.     }  
  54.   
  55.     /** This method is called from within the constructor to 
  56.      * initialize the form. 
  57.      * WARNING: Do NOT modify this code. The content of this method is 
  58.      * always regenerated by the Form Editor. 
  59.      */  
  60.     //GEN-BEGIN:initComponents  
  61.     // <editor-fold defaultstate="collapsed" desc="Generated Code">  
  62.     private void initComponents() {  
  63.   
  64.         menuBar = new javax.swing.JMenuBar();  
  65.         fileMenu = new javax.swing.JMenu();  
  66.         openMenuItem = new javax.swing.JMenuItem();  
  67.         saveMenuItem = new javax.swing.JMenuItem();  
  68.         saveAsMenuItem = new javax.swing.JMenuItem();  
  69.         exitMenuItem = new javax.swing.JMenuItem();  
  70.         editMenu = new javax.swing.JMenu();  
  71.         cutMenuItem = new javax.swing.JMenuItem();  
  72.         copyMenuItem = new javax.swing.JMenuItem();  
  73.         pasteMenuItem = new javax.swing.JMenuItem();  
  74.         deleteMenuItem = new javax.swing.JMenuItem();  
  75.         jMenu1 = new javax.swing.JMenu();  
  76.         jMenuItemUser = new javax.swing.JMenuItem();  
  77.         jMenuItemBook = new javax.swing.JMenuItem();  
  78.         jMenuItemIn = new javax.swing.JMenuItem();  
  79.         jMenuItemOut = new javax.swing.JMenuItem();  
  80.         jMenuItemStock = new javax.swing.JMenuItem();  
  81.         jMenuItemLogout = new javax.swing.JMenuItem();  
  82.         helpMenu = new javax.swing.JMenu();  
  83.         contentsMenuItem = new javax.swing.JMenuItem();  
  84.         aboutMenuItem = new javax.swing.JMenuItem();  
  85.   
  86.         setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);  
  87.         setMinimumSize(new java.awt.Dimension(800600));  
  88.         getContentPane().setLayout(null);  
  89.   
  90.         fileMenu.setText("File");  
  91.   
  92.         openMenuItem.setText("Open");  
  93.         fileMenu.add(openMenuItem);  
  94.   
  95.         saveMenuItem.setText("Save");  
  96.         fileMenu.add(saveMenuItem);  
  97.   
  98.         saveAsMenuItem.setText("Save As ...");  
  99.         fileMenu.add(saveAsMenuItem);  
  100.   
  101.         exitMenuItem.setText("Exit");  
  102.         exitMenuItem.addActionListener(new java.awt.event.ActionListener() {  
  103.             public void actionPerformed(java.awt.event.ActionEvent evt) {  
  104.                 exitMenuItemActionPerformed(evt);  
  105.             }  
  106.         });  
  107.         fileMenu.add(exitMenuItem);  
  108.   
  109.         menuBar.add(fileMenu);  
  110.   
  111.         editMenu.setText("Edit");  
  112.   
  113.         cutMenuItem.setText("Cut");  
  114.         editMenu.add(cutMenuItem);  
  115.   
  116.         copyMenuItem.setText("Copy");  
  117.         editMenu.add(copyMenuItem);  
  118.   
  119.         pasteMenuItem.setText("Paste");  
  120.         editMenu.add(pasteMenuItem);  
  121.   
  122.         deleteMenuItem.setText("Delete");  
  123.         editMenu.add(deleteMenuItem);  
  124.   
  125.         menuBar.add(editMenu);  
  126.   
  127.         jMenu1.setText("Patterns");  
  128.   
  129.         jMenuItemUser.setAccelerator(javax.swing.KeyStroke.getKeyStroke(  
  130.                 java.awt.event.KeyEvent.VK_U,  
  131.                 java.awt.event.InputEvent.CTRL_MASK));  
  132.         jMenuItemUser.setText("user");  
  133.         jMenuItemUser.setEnabled(false);  
  134.         jMenuItemUser.addActionListener(new java.awt.event.ActionListener() {  
  135.             public void actionPerformed(java.awt.event.ActionEvent evt) {  
  136.                 jMenuItemUserActionPerformed(evt);  
  137.             }  
  138.         });  
  139.         jMenu1.add(jMenuItemUser);  
  140.   
  141.         jMenuItemBook.setAccelerator(javax.swing.KeyStroke.getKeyStroke(  
  142.                 java.awt.event.KeyEvent.VK_B,  
  143.                 java.awt.event.InputEvent.CTRL_MASK));  
  144.         jMenuItemBook.setText("book");  
  145.         jMenuItemBook.setEnabled(false);  
  146.         jMenuItemBook.addActionListener(new java.awt.event.ActionListener() {  
  147.             public void actionPerformed(java.awt.event.ActionEvent evt) {  
  148.                 jMenuItemBookActionPerformed(evt);  
  149.             }  
  150.         });  
  151.         jMenu1.add(jMenuItemBook);  
  152.   
  153.         jMenuItemIn.setAccelerator(javax.swing.KeyStroke.getKeyStroke(  
  154.                 java.awt.event.KeyEvent.VK_I,  
  155.                 java.awt.event.InputEvent.CTRL_MASK));  
  156.         jMenuItemIn.setText("in");  
  157.         jMenuItemIn.setEnabled(false);  
  158.         jMenuItemIn.addActionListener(new java.awt.event.ActionListener() {  
  159.             public void actionPerformed(java.awt.event.ActionEvent evt) {  
  160.                 jMenuItemInActionPerformed(evt);  
  161.             }  
  162.         });  
  163.         jMenu1.add(jMenuItemIn);  
  164.   
  165.         jMenuItemOut.setAccelerator(javax.swing.KeyStroke.getKeyStroke(  
  166.                 java.awt.event.KeyEvent.VK_O,  
  167.                 java.awt.event.InputEvent.CTRL_MASK));  
  168.         jMenuItemOut.setText("out");  
  169.         jMenuItemOut.setEnabled(false);  
  170.         jMenuItemOut.addActionListener(new java.awt.event.ActionListener() {  
  171.             public void actionPerformed(java.awt.event.ActionEvent evt) {  
  172.                 jMenuItemOutActionPerformed(evt);  
  173.             }  
  174.         });  
  175.         jMenu1.add(jMenuItemOut);  
  176.   
  177.         jMenuItemStock.setAccelerator(javax.swing.KeyStroke.getKeyStroke(  
  178.                 java.awt.event.KeyEvent.VK_S,  
  179.                 java.awt.event.InputEvent.CTRL_MASK));  
  180.         jMenuItemStock.setText("stock");  
  181.         jMenuItemStock.setEnabled(false);  
  182.         jMenuItemStock.addActionListener(new java.awt.event.ActionListener() {  
  183.             public void actionPerformed(java.awt.event.ActionEvent evt) {  
  184.                 jMenuItemStockActionPerformed(evt);  
  185.             }  
  186.         });  
  187.         jMenu1.add(jMenuItemStock);  
  188.   
  189.         jMenuItemLogout.setAccelerator(javax.swing.KeyStroke.getKeyStroke(  
  190.                 java.awt.event.KeyEvent.VK_L,  
  191.                 java.awt.event.InputEvent.CTRL_MASK));  
  192.         jMenuItemLogout.setText("logout");  
  193.         jMenuItemLogout.addActionListener(new java.awt.event.ActionListener() {  
  194.             public void actionPerformed(java.awt.event.ActionEvent evt) {  
  195.                 jMenuItemLogoutActionPerformed(evt);  
  196.             }  
  197.         });  
  198.         jMenu1.add(jMenuItemLogout);  
  199.   
  200.         menuBar.add(jMenu1);  
  201.   
  202.         helpMenu.setText("Help");  
  203.   
  204.         contentsMenuItem.setText("Contents");  
  205.         helpMenu.add(contentsMenuItem);  
  206.   
  207.         aboutMenuItem.setText("About");  
  208.         helpMenu.add(aboutMenuItem);  
  209.   
  210.         menuBar.add(helpMenu);  
  211.   
  212.         setJMenuBar(menuBar);  
  213.   
  214.         pack();  
  215.     }// </editor-fold>  
  216.     //GEN-END:initComponents  
  217.   
  218.     private void jMenuItemLogoutActionPerformed(java.awt.event.ActionEvent evt) {  
  219.         jMenuItemUser.setEnabled(false);  
  220.         jMenuItemBook.setEnabled(false);  
  221.         jMenuItemIn.setEnabled(false);  
  222.         jMenuItemOut.setEnabled(false);  
  223.         jMenuItemStock.setEnabled(false);  
  224.           
  225.         this.setContentPane(new LoginPanel(this));  
  226.         this.validate();  
  227.     }  
  228.   
  229.     public javax.swing.JMenuItem getjMenuItemBook() {  
  230.         return jMenuItemBook;  
  231.     }  
  232.   
  233.     public javax.swing.JMenuItem getjMenuItemIn() {  
  234.         return jMenuItemIn;  
  235.     }  
  236.   
  237.     public javax.swing.JMenuItem getjMenuItemOut() {  
  238.         return jMenuItemOut;  
  239.     }  
  240.   
  241.     public javax.swing.JMenuItem getjMenuItemStock() {  
  242.         return jMenuItemStock;  
  243.     }  
  244.   
  245.     public javax.swing.JMenuItem getjMenuItemUser() {  
  246.         return jMenuItemUser;  
  247.     }  
  248.   
  249.     private void jMenuItemStockActionPerformed(java.awt.event.ActionEvent evt) {  
  250.         this.setContentPane(new cn.hncu.stock.ui.ListPanel(this));  
  251.         this.validate();  
  252.     }  
  253.   
  254.     private void jMenuItemOutActionPerformed(java.awt.event.ActionEvent evt) {  
  255.         this.setContentPane(new ListPanel(this));  
  256.         this.validate();  
  257.     }  
  258.   
  259.     private void jMenuItemInActionPerformed(java.awt.event.ActionEvent evt) {  
  260.         this.setContentPane(new cn.hncu.in.ui.ListPanel(this));  
  261.         this.validate();  
  262.     }  
  263.   
  264.     protected void jMenuItemUserActionPerformed(ActionEvent evt) {  
  265.         this.setContentPane(new UserListPanel(this));  
  266.         this.validate();  
  267.   
  268.     }  
  269.   
  270.     private void jMenuItemBookActionPerformed(java.awt.event.ActionEvent evt) {  
  271.         this.setContentPane(new BookListPanel(this));  
  272.         this.validate();  
  273.     }  
  274.   
  275.     private void exitMenuItemActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_exitMenuItemActionPerformed  
  276.         System.exit(0);  
  277.     }//GEN-LAST:event_exitMenuItemActionPerformed  
  278.   
  279.     /** 
  280.      * @param args the command line arguments 
  281.      */  
  282.     public static void main(String args[]) {  
  283.         java.awt.EventQueue.invokeLater(new Runnable() {  
  284.             public void run() {  
  285.                 new BookStore().setVisible(true);  
  286.             }  
  287.         });  
  288.     }  
  289.   
  290.     //GEN-BEGIN:variables  
  291.     // Variables declaration - do not modify  
  292.     private javax.swing.JMenuItem aboutMenuItem;  
  293.     private javax.swing.JMenuItem contentsMenuItem;  
  294.     private javax.swing.JMenuItem copyMenuItem;  
  295.     private javax.swing.JMenuItem cutMenuItem;  
  296.     private javax.swing.JMenuItem deleteMenuItem;  
  297.     private javax.swing.JMenu editMenu;  
  298.     private javax.swing.JMenuItem exitMenuItem;  
  299.     private javax.swing.JMenu fileMenu;  
  300.     private javax.swing.JMenu helpMenu;  
  301.     private javax.swing.JMenu jMenu1;  
  302.     private javax.swing.JMenuItem jMenuItemBook;  
  303.     private javax.swing.JMenuItem jMenuItemIn;  
  304.     private javax.swing.JMenuItem jMenuItemLogout;  
  305.     private javax.swing.JMenuItem jMenuItemOut;  
  306.     private javax.swing.JMenuItem jMenuItemStock;  
  307.     private javax.swing.JMenuItem jMenuItemUser;  
  308.     private javax.swing.JMenuBar menuBar;  
  309.     private javax.swing.JMenuItem openMenuItem;  
  310.     private javax.swing.JMenuItem pasteMenuItem;  
  311.     private javax.swing.JMenuItem saveAsMenuItem;  
  312.     private javax.swing.JMenuItem saveMenuItem;  
  313.     // End of variables declaration//GEN-END:variables  
  314.   
  315. }  


数据层:

1、接口

[java] view plain copy
 技术分享技术分享
  1. package cn.hncu.user.dao.dao;  
  2.   
  3. import java.util.List;  
  4.   
  5. import cn.hncu.user.vo.UserModel;  
  6. import cn.hncu.user.vo.UserQueryModel;  
  7.   
  8. /** 
  9.  *  
  10.  * @author Lenovo 
  11.  * 用户模块的数据层接口 
  12.  */  
  13.   
  14. public interface UserDAO {  
  15.     public boolean create(UserModel user);  
  16.     public boolean delete(String uuid);  
  17.     public boolean upDate(UserModel user);  
  18.       
  19.     public UserModel getSingle(String uuid);  
  20.     public List<UserModel> getAll();  
  21.     public List<UserModel> getByCondition(UserQueryModel uqm);  
  22. }  
2、实现类

[java] view plain copy
 技术分享技术分享
  1. package cn.hncu.user.dao.impl;  
  2.   
  3. import java.util.ArrayList;  
  4. import java.util.List;  
  5.   
  6. import cn.hncu.user.business.factory.UserEbiFactory;  
  7. import cn.hncu.user.dao.dao.UserDAO;  
  8. import cn.hncu.utils.FileIo;  
  9. import cn.hncu.user.vo.UserModel;  
  10. import cn.hncu.user.vo.UserQueryModel;  
  11.   
  12. public class UserDAOImpl implements UserDAO {  
  13.     private static final String FILE_NAME="user.txt";  
  14.       
  15.     @Override  
  16.     public boolean create(UserModel user) {  
  17.         List<UserModel> list=FileIo.read(FILE_NAME);  
  18.         for (UserModel u:list){  
  19.             if (u.getUuid().equals(user.getUuid())){  
  20.                 return false;  
  21.             }  
  22.         }  
  23.         list.add(user);  
  24.         FileIo.write(list, FILE_NAME);  
  25.         return true;  
  26.     }  
  27.   
  28.     @Override  
  29.     public boolean delete(String uuid) {  
  30.         List<UserModel> list=FileIo.read(FILE_NAME);  
  31.         for (int i=0;i<list.size();i++){  
  32.             if (list.get(i).getUuid().equals(uuid)){  
  33.                 list.remove(i);  
  34.                 FileIo.write(list, FILE_NAME);  
  35.                 return true;  
  36.             }  
  37.         }  
  38.         //该用户不存在  
  39.         return false;  
  40.     }  
  41.   
  42.     @Override  
  43.     public List<UserModel> getAll() {  
  44.         List<UserModel> list=FileIo.read(FILE_NAME);  
  45.         return list;  
  46.     }  
  47.   
  48.     @Override  
  49.     public List<UserModel> getByCondition(UserQueryModel uqm) {  
  50.         List<UserModel> list=getAll();  
  51.         List<UserModel> results=new ArrayList<UserModel>();  
  52.         for (UserModel user:list){  
  53.             //反逻辑,卫条件: 外层判断用户输入是否是查询条件;内层判断该对象是否符合查询条件  
  54.             if (uqm.getUuid()!=null&&uqm.getUuid().trim().length()>0){  
  55.                 if (!uqm.getUuid().equals(user.getUuid())){  
  56.                     continue;  
  57.                 }  
  58.             }  
  59.             if (uqm.getName()!=null&&uqm.getName().trim().length()>0){  
  60.                 if (user.getName().indexOf(uqm.getName())==-1){  
  61.                     continue;  
  62.                 }  
  63.             }  
  64.             if (uqm.getType()>0){  
  65.                 if (uqm.getType()!=user.getType()){  
  66.                     continue;  
  67.                 }  
  68.             }  
  69.             results.add(user);  
  70.         }  
  71.         return results;  
  72.     }  
  73.   
  74.     @Override  
  75.     public UserModel getSingle(String uuid) {  
  76.         List<UserModel> list=FileIo.read(FILE_NAME);  
  77.         for (UserModel u:list){  
  78.             if (u.getUuid().equals(uuid)){  
  79.                 return u;  
  80.             }  
  81.         }  
  82.         //不存在该uuid对应的用户,返回空  
  83.         return null;  
  84.     }  
  85.   
  86.     @Override  
  87.     public boolean upDate(UserModel user) {  
  88.         List<UserModel> list=FileIo.read(FILE_NAME);  
  89.         for (int i=0;i<list.size();i++){  
  90.             if (list.get(i).getUuid().equals(user.getUuid())){  
  91.                 list.set(i, user);  
  92.                 FileIo.write(list, FILE_NAME);  
  93.                 return true;  
  94.             }  
  95.         }  
  96.         //不存在该用户,修改失败  
  97.         return false;  
  98.     }  
  99. }  
3、工厂类

[java] view plain copy
 技术分享技术分享
  1. package cn.hncu.user.dao.factory;  
  2.   
  3. import cn.hncu.user.dao.dao.UserDAO;  
  4. import cn.hncu.user.dao.impl.UserDAOImpl;  
  5.   
  6. public class UserDAOFactory {  
  7.     public static UserDAO getUserDAO(){  
  8.         return new UserDAOImpl();  
  9.     }  
  10. }  


业务逻辑层:

1、接口

[java] view plain copy
 技术分享技术分享
  1. package cn.hncu.user.business.ebi;  
  2.   
  3. import java.util.List;  
  4.   
  5. import cn.hncu.user.vo.UserModel;  
  6. import cn.hncu.user.vo.UserQueryModel;  
  7.   
  8. public interface UserEbi {  
  9.     public boolean create(UserModel user);  
  10.     public boolean delete(String uuid);  
  11.     public boolean upDate(UserModel user);  
  12.       
  13.     public UserModel getSingle(String uuid);  
  14.     public List<UserModel> getAll();  
  15.     public List<UserModel> getByCondition(UserQueryModel uqm);  
  16.       
  17.     //此处可以在做到其他模块需要添加功能时来添加方法  
  18.     public List<UserModel> getAllIn();  
  19.     public UserModel getUserByName(String name);  
  20.     public List<UserModel> getAllOut();  
  21. }  
2、实现类

[java] view plain copy
 技术分享技术分享
  1. package cn.hncu.user.business.ebo;  
  2.   
  3. import java.util.List;  
  4.   
  5. import cn.hncu.common.UserTypeEnum;  
  6. import cn.hncu.common.UuidModelConstance;  
  7. import cn.hncu.common.uuid.dao.factory.UuidDAOFactory;  
  8. import cn.hncu.user.business.ebi.UserEbi;  
  9. import cn.hncu.user.dao.dao.UserDAO;  
  10. import cn.hncu.user.dao.factory.UserDAOFactory;  
  11. import cn.hncu.user.vo.UserModel;  
  12. import cn.hncu.user.vo.UserQueryModel;  
  13.   
  14. public class UserEbo implements UserEbi {  
  15.     UserDAO dao=UserDAOFactory.getUserDAO();  
  16.       
  17.     @Override  
  18.     public boolean create(UserModel user) {  
  19.         String uuid=UuidDAOFactory.getUuidDAO().getNextUuid(UuidModelConstance.USER);  
  20.         user.setUuid(uuid);  
  21.         return dao.create(user);  
  22.     }  
  23.   
  24.     @Override  
  25.     public boolean delete(String uuid) {  
  26.         return dao.delete(uuid);  
  27.     }  
  28.   
  29.     @Override  
  30.     public List<UserModel> getAll() {  
  31.         return dao.getAll();  
  32.     }  
  33.   
  34.     @Override  
  35.     public List<UserModel> getByCondition(UserQueryModel uqm) {  
  36.         return dao.getByCondition(uqm);  
  37.     }  
  38.   
  39.     @Override  
  40.     public UserModel getSingle(String uuid) {  
  41.         return dao.getSingle(uuid);  
  42.     }  
  43.   
  44.     @Override  
  45.     public boolean upDate(UserModel user) {  
  46.         return dao.upDate(user);  
  47.     }  
  48.   
  49.     @Override  
  50.     public List<UserModel> getAllIn() {  
  51.         UserQueryModel uqm=new UserQueryModel();  
  52.         uqm.setType(UserTypeEnum.IN.getType());  
  53.         return getByCondition(uqm);  
  54.     }  
  55.   
  56.     @Override  
  57.     public UserModel getUserByName(String name) {  
  58.         List<UserModel> list=getAll();  
  59.         for (UserModel user:list){  
  60.             if (user.getName().equals(name)){  
  61.                 return user;  
  62.             }  
  63.         }  
  64.         return null;  
  65.     }  
  66.   
  67.     @Override  
  68.     public List<UserModel> getAllOut() {  
  69.         UserQueryModel uqm=new UserQueryModel();  
  70.         uqm.setType(UserTypeEnum.OUT.getType());  
  71.         return getByCondition(uqm);  
  72.     }  
  73. }  
3、工厂类

[java] view plain copy
 技术分享技术分享
  1. package cn.hncu.user.business.factory;  
  2.   
  3. import cn.hncu.user.business.ebi.UserEbi;  
  4. import cn.hncu.user.business.ebo.UserEbo;  
  5.   
  6. public class UserEbiFactory {  
  7.     public static UserEbi getUserEbi(){  
  8.         return new UserEbo();  
  9.     }  
  10. }  


值对象层:

用户类:

[java] view plain copy
 技术分享技术分享
  1. package cn.hncu.user.vo;  
  2.   
  3. import java.io.Serializable;  
  4.   
  5. import cn.hncu.common.UserTypeEnum;  
  6.   
  7. public class UserModel implements Serializable{  
  8.     private String uuid;  
  9.     private String name;  
  10.     private int type;  
  11.     private String pwd;  
  12.       
  13.     public UserModel() {  
  14.         super();  
  15.     }  
  16.   
  17.     public String getUuid() {  
  18.         return uuid;  
  19.     }  
  20.   
  21.     public void setUuid(String uuid) {  
  22.         this.uuid = uuid;  
  23.     }  
  24.   
  25.     public String getName() {  
  26.         return name;  
  27.     }  
  28.   
  29.     public void setName(String name) {  
  30.         this.name = name;  
  31.     }  
  32.   
  33.     public int getType() {  
  34.         return type;  
  35.     }  
  36.   
  37.     public void setType(int type) {  
  38.         this.type = type;  
  39.     }  
  40.   
  41.     public String getPwd() {  
  42.         return pwd;  
  43.     }  
  44.   
  45.     public void setPwd(String pwd) {  
  46.         this.pwd = pwd;  
  47.     }  
  48.   
  49.     @Override  
  50.     public int hashCode() {  
  51.         final int prime = 31;  
  52.         int result = 1;  
  53.         result = prime * result + ((uuid == null) ? 0 : uuid.hashCode());  
  54.         return result;  
  55.     }  
  56.   
  57.     @Override  
  58.     public boolean equals(Object obj) {  
  59.         if (this == obj)  
  60.             return true;  
  61.         if (obj == null)  
  62.             return false;  
  63.         if (getClass() != obj.getClass())  
  64.             return false;  
  65.         UserModel other = (UserModel) obj;  
  66.         if (uuid == null) {  
  67.             if (other.uuid != null)  
  68.                 return false;  
  69.         } else if (!uuid.equals(other.uuid))  
  70.             return false;  
  71.         return true;  
  72.     }  
  73.   
  74.     @Override  
  75.     public String toString() {  
  76.         return uuid+","+name+","+UserTypeEnum.getNameByType(type);  
  77.     }  
  78. }  
用户查询类:
[java] view plain copy
 技术分享技术分享
  1. package cn.hncu.user.vo;  
  2.   
  3. public class UserQueryModel extends UserModel{  
  4.       
  5. }  


表现层:

用户列表:

[java] view plain copy
 技术分享技术分享
  1. /* 
  2.  * ListPanel.java 
  3.  * 
  4.  * Created on __DATE__, __TIME__ 
  5.  */  
  6.   
  7. package cn.hncu.user.ui;  
  8.   
  9. import java.util.List;  
  10.   
  11. import javax.swing.Icon;  
  12. import javax.swing.ImageIcon;  
  13. import javax.swing.JFrame;  
  14. import javax.swing.JLabel;  
  15. import javax.swing.JOptionPane;  
  16. import javax.swing.JPanel;  
  17.   
  18. import cn.hncu.user.business.ebi.UserEbi;  
  19. import cn.hncu.user.business.factory.UserEbiFactory;  
  20. import cn.hncu.user.vo.UserModel;  
  21.   
  22. /** 
  23.  * 
  24.  * @author  __USER__ 
  25.  */  
  26. public class UserListPanel extends javax.swing.JPanel {  
  27.     private final String dir = "./Images/";  
  28.     private JFrame mainFrame = null;  
  29.   
  30.     /** Creates new form ListPanel */  
  31.     public UserListPanel(JFrame mainFrame) {  
  32.         this.mainFrame = mainFrame;  
  33.         this.setOpaque(false);  
  34.         initComponents();  
  35.         myInit();  
  36.         //      setBack();  
  37.     }  
  38.   
  39.     public UserListPanel(JFrame mainFrame, List<UserModel> list) {  
  40.         this.mainFrame = mainFrame;  
  41.         initComponents();  
  42.         userList.setListData(list.toArray());  
  43.     }  
  44.   
  45.     private void myInit() {  
  46.         UserEbi ebi = UserEbiFactory.getUserEbi();  
  47.         List<UserModel> list = ebi.getAll();  
  48.         userList.setListData(list.toArray());  
  49.   
  50.     }  
  51.   
  52.     //  private void setBack() {  
  53.     //      //把当前JFrame的内容窗格设成透明,这样放在其中的组件就能够显示出背景  
  54.     //      ((JPanel)(this.getContentPane())).setOpaque(false);//1  
  55.     //        
  56.     //      Icon bgImage = new ImageIcon(dir+"bg.png");//路径从项目根目录  
  57.     //      //Icon bgImage = new ImageIcon(dir+"a.gif");//显示gif动态图也可以  
  58.     //      JLabel bgLabel = new JLabel(bgImage);  
  59.     //      //根据给的整数值决定在上层还是下层显示,数值越小显示在越下面的位置  
  60.     //      this.getLayeredPane().add(bgLabel, new Integer(Integer.MIN_VALUE));//2  
  61.     //      bgLabel.setBounds(0, 0, bgImage.getIconWidth(), bgImage.getIconHeight());//3  
  62.     //      this.add(bgLabel);  
  63.     //        
  64.     //      //以下是测试,看看上面的图片是不是能够显示成背景  
  65.     ////        JButton btn = new JButton("OK");  
  66.     ////        this.getLayeredPane().add(btn);  
  67.     ////        btn.setBounds(100, 100, 80, 50);  
  68.     //  }  
  69.   
  70.     /** This method is called from within the constructor to 
  71.      * initialize the form. 
  72.      * WARNING: Do NOT modify this code. The content of this method is 
  73.      * always regenerated by the Form Editor. 
  74.      */  
  75.     //GEN-BEGIN:initComponents  
  76.     // <editor-fold defaultstate="collapsed" desc="Generated Code">  
  77.     private void initComponents() {  
  78.   
  79.         jLabel1 = new javax.swing.JLabel();  
  80.         jScrollPane1 = new javax.swing.JScrollPane();  
  81.         userList = new javax.swing.JList();  
  82.         queryBtn = new javax.swing.JButton();  
  83.         addBtn = new javax.swing.JButton();  
  84.         deleteBtn = new javax.swing.JButton();  
  85.         btnUpdate = new javax.swing.JButton();  
  86.   
  87.         setLayout(null);  
  88.   
  89.         jLabel1.setFont(new java.awt.Font("Microsoft YaHei UI"124));  
  90.         jLabel1.setForeground(new java.awt.Color(102255102));  
  91.         jLabel1.setText("\u7528\u6237\u5217\u8868");  
  92.         add(jLabel1);  
  93.         jLabel1.setBounds(3404015070);  
  94.   
  95.         userList.setModel(new javax.swing.AbstractListModel() {  
  96.             String[] strings = { "" };  
  97.   
  98.             public int getSize() {  
  99.                 return strings.length;  
  100.             }  
  101.   
  102.             public Object getElementAt(int i) {  
  103.                 return strings[i];  
  104.             }  
  105.         });  
  106.         jScrollPane1.setViewportView(userList);  
  107.   
  108.         add(jScrollPane1);  
  109.         jScrollPane1.setBounds(240110300170);  
  110.   
  111.         queryBtn.setText("\u67e5\u8be2");  
  112.         queryBtn.addActionListener(new java.awt.event.ActionListener() {  
  113.             public void actionPerformed(java.awt.event.ActionEvent evt) {  
  114.                 queryBtnActionPerformed(evt);  
  115.             }  
  116.         });  
  117.         add(queryBtn);  
  118.         queryBtn.setBounds(5303306329);  
  119.   
  120.         addBtn.setText("\u6dfb\u52a0");  
  121.         addBtn.addActionListener(new java.awt.event.ActionListener() {  
  122.             public void actionPerformed(java.awt.event.ActionEvent evt) {  
  123.                 addBtnActionPerformed(evt);  
  124.             }  
  125.         });  
  126.         add(addBtn);  
  127.         addBtn.setBounds(1903306329);  
  128.   
  129.         deleteBtn.setText("\u5220\u9664");  
  130.         deleteBtn.addActionListener(new java.awt.event.ActionListener() {  
  131.             public void actionPerformed(java.awt.event.ActionEvent evt) {  
  132.                 deleteBtnActionPerformed(evt);  
  133.             }  
  134.         });  
  135.         add(deleteBtn);  
  136.         deleteBtn.setBounds(3103306329);  
  137.   
  138.         btnUpdate.setText("\u4fee\u6539");  
  139.         btnUpdate.addActionListener(new java.awt.event.ActionListener() {  
  140.             public void actionPerformed(java.awt.event.ActionEvent evt) {  
  141.                 btnUpdateActionPerformed(evt);  
  142.             }  
  143.         });  
  144.         add(btnUpdate);  
  145.         btnUpdate.setBounds(4203306329);  
  146.     }// </editor-fold>  
  147.     //GEN-END:initComponents  
  148.   
  149.     private void queryBtnActionPerformed(java.awt.event.ActionEvent evt) {  
  150.         mainFrame.setContentPane(new QueryPanel(mainFrame));  
  151.         mainFrame.validate();  
  152.     }  
  153.   
  154.     private void btnUpdateActionPerformed(java.awt.event.ActionEvent evt) {  
  155.         UserModel user = (UserModel) userList.getSelectedValue();  
  156.         if (user == null) {  
  157.             JOptionPane.showMessageDialog(null"请选择要修改的用户!");  
  158.             return;  
  159.         }  
  160.         String uuid = user.getUuid();  
  161.         mainFrame.setContentPane(new upDatePanel(mainFrame, uuid));  
  162.         mainFrame.validate();  
  163.     }  
  164.   
  165.     private void deleteBtnActionPerformed(java.awt.event.ActionEvent evt) {  
  166.         UserModel user = (UserModel) userList.getSelectedValue();  
  167.         if (user == null) {  
  168.             JOptionPane.showMessageDialog(null"请选择要删除的用户!");  
  169.             return;  
  170.         }  
  171.         String uuid = user.getUuid();  
  172.         mainFrame.setContentPane(new deletePanel(mainFrame, uuid));  
  173.         mainFrame.validate();  
  174.     }  
  175.   
  176.     private void addBtnActionPerformed(java.awt.event.ActionEvent evt) {  
  177.         mainFrame.setContentPane(new AddPanel(mainFrame));  
  178.         mainFrame.validate();  
  179.     }  
  180.   
  181.     //GEN-BEGIN:variables  
  182.     // Variables declaration - do not modify  
  183.     private javax.swing.JButton addBtn;  
  184.     private javax.swing.JButton btnUpdate;  
  185.     private javax.swing.JButton deleteBtn;  
  186.     private javax.swing.JLabel jLabel1;  
  187.     private javax.swing.JScrollPane jScrollPane1;  
  188.     private javax.swing.JButton queryBtn;  
  189.     private javax.swing.JList userList;  
  190.     // End of variables declaration//GEN-END:variables  
  191.   
  192. }  
添加用户:

[java] view plain copy
 技术分享技术分享
  1. /* 
  2.  * AddPanel.java 
  3.  * 
  4.  * Created on __DATE__, __TIME__ 
  5.  */  
  6.   
  7. package cn.hncu.user.ui;  
  8.   
  9. import javax.swing.JFrame;  
  10. import javax.swing.JOptionPane;  
  11.   
  12. import cn.hncu.common.UserTypeEnum;  
  13. import cn.hncu.user.business.ebi.UserEbi;  
  14. import cn.hncu.user.business.factory.UserEbiFactory;  
  15. import cn.hncu.user.vo.UserModel;  
  16.   
  17. /** 
  18.  * 
  19.  * @author  __USER__ 
  20.  */  
  21. public class AddPanel extends javax.swing.JPanel {  
  22.     private JFrame mainFrame = null;  
  23.   
  24.     /** Creates new form AddPanel */  
  25.     public AddPanel(JFrame mainFrame) {  
  26.         this.mainFrame = mainFrame;  
  27.         this.setOpaque(false);  
  28.         initComponents();  
  29.         myInit();  
  30.     }  
  31.   
  32.     private void myInit() {  
  33.         for (UserTypeEnum type : UserTypeEnum.values()) {  
  34.             CombType.addItem(type.getName());  
  35.         }  
  36.     }  
  37.   
  38.     /** This method is called from within the constructor to 
  39.      * initialize the form. 
  40.      * WARNING: Do NOT modify this code. The content of this method is 
  41.      * always regenerated by the Form Editor. 
  42.      */  
  43.     //GEN-BEGIN:initComponents  
  44.     // <editor-fold defaultstate="collapsed" desc="Generated Code">  
  45.     private void initComponents() {  
  46.   
  47.         jLabel1 = new javax.swing.JLabel();  
  48.         jLabelType = new javax.swing.JLabel();  
  49.         jLabelName = new javax.swing.JLabel();  
  50.         tfdName = new javax.swing.JTextField();  
  51.         CombType = new javax.swing.JComboBox();  
  52.         jLabel2 = new javax.swing.JLabel();  
  53.         jLabel3 = new javax.swing.JLabel();  
  54.         Pwd1 = new javax.swing.JPasswordField();  
  55.         Pwd2 = new javax.swing.JPasswordField();  
  56.         btnAdd = new javax.swing.JButton();  
  57.         btnBack = new javax.swing.JButton();  
  58.   
  59.         setLayout(null);  
  60.   
  61.         jLabel1.setFont(new java.awt.Font("Microsoft YaHei UI"124));  
  62.         jLabel1.setForeground(new java.awt.Color(102255102));  
  63.         jLabel1.setText("\u6dfb\u52a0\u7528\u6237");  
  64.         add(jLabel1);  
  65.         jLabel1.setBounds(3002014070);  
  66.   
  67.         jLabelType.setForeground(new java.awt.Color(102255102));  
  68.         jLabelType.setText("\u7528\u6237\u7c7b\u578b\uff1a");  
  69.         add(jLabelType);  
  70.         jLabelType.setBounds(15018011030);  
  71.   
  72.         jLabelName.setForeground(new java.awt.Color(102255102));  
  73.         jLabelName.setText("\u59d3\u540d\uff1a");  
  74.         add(jLabelName);  
  75.         jLabelName.setBounds(1801307030);  
  76.         add(tfdName);  
  77.         tfdName.setBounds(25013010026);  
  78.   
  79.         CombType.setModel(new javax.swing.DefaultComboBoxModel(  
  80.                 new String[] { "请选择..." }));  
  81.         add(CombType);  
  82.         CombType.setBounds(25018017030);  
  83.   
  84.         jLabel2.setForeground(new java.awt.Color(102255102));  
  85.         jLabel2.setText("\u5bc6\u7801\uff1a");  
  86.         add(jLabel2);  
  87.         jLabel2.setBounds(1802404520);  
  88.   
  89.         jLabel3.setForeground(new java.awt.Color(102255102));  
  90.         jLabel3.setText("\u786e\u8ba4\u5bc6\u7801\uff1a");  
  91.         add(jLabel3);  
  92.         jLabel3.setBounds(15029010030);  
  93.         add(Pwd1);  
  94.         Pwd1.setBounds(25024023024);  
  95.         add(Pwd2);  
  96.         Pwd2.setBounds(25029023024);  
  97.   
  98.         btnAdd.setText("\u6dfb\u52a0");  
  99.         btnAdd.addActionListener(new java.awt.event.ActionListener() {  
  100.             public void actionPerformed(java.awt.event.ActionEvent evt) {  
  101.                 btnAddActionPerformed(evt);  
  102.             }  
  103.         });  
  104.         add(btnAdd);  
  105.         btnAdd.setBounds(2603706329);  
  106.   
  107.         btnBack.setText("\u8fd4\u56de");  
  108.         btnBack.addActionListener(new java.awt.event.ActionListener() {  
  109.             public void actionPerformed(java.awt.event.ActionEvent evt) {  
  110.                 btnBackActionPerformed(evt);  
  111.             }  
  112.         });  
  113.         add(btnBack);  
  114.         btnBack.setBounds(4503706329);  
  115.     }// </editor-fold>  
  116.     //GEN-END:initComponents  
  117.   
  118.     private void btnBackActionPerformed(java.awt.event.ActionEvent evt) {  
  119.         mainFrame.setContentPane(new UserListPanel(mainFrame));  
  120.         mainFrame.validate();  
  121.     }  
  122.   
  123.     private void btnAddActionPerformed(java.awt.event.ActionEvent evt) {  
  124.         //收集参数  
  125.         //      String uuid = tfdUuid.getText();  
  126.         String name = tfdName.getText();  
  127.         String pwd1 = new String(Pwd1.getPassword());  
  128.         String pwd2 = new String(Pwd2.getPassword());  
  129.         if (!pwd1.equals(pwd2)) {  
  130.             JOptionPane.showMessageDialog(null"两次密码不一致,请重新输入!");  
  131.             return;  
  132.         }  
  133.         int type = 0;  
  134.         try {  
  135.             type = UserTypeEnum.getTypeByName(CombType.getSelectedItem()  
  136.                     .toString());  
  137.         } catch (Exception e) {  
  138.             JOptionPane.showMessageDialog(null"请指定用户类型");  
  139.             return;  
  140.         }  
  141.   
  142.         //组织参数  
  143.         UserModel user = new UserModel();  
  144.         user.setName(name);  
  145.         user.setPwd(pwd1);  
  146.         user.setType(type);  
  147.         //      user.setUuid(uuid);  
  148.   
  149.         //调用逻辑层  
  150.         UserEbi ebi = UserEbiFactory.getUserEbi();  
  151.         if (ebi.create(user)) {  
  152.             mainFrame.setContentPane(new UserListPanel(mainFrame));  
  153.             mainFrame.validate();  
  154.         } else {  
  155.             JOptionPane.showMessageDialog(null"该用户已存在!");  
  156.         }  
  157.   
  158.     }  
  159.   
  160.     //GEN-BEGIN:variables  
  161.     // Variables declaration - do not modify  
  162.     private javax.swing.JComboBox CombType;  
  163.     private javax.swing.JPasswordField Pwd1;  
  164.     private javax.swing.JPasswordField Pwd2;  
  165.     private javax.swing.JButton btnAdd;  
  166.     private javax.swing.JButton btnBack;  
  167.     private javax.swing.JLabel jLabel1;  
  168.     private javax.swing.JLabel jLabel2;  
  169.     private javax.swing.JLabel jLabel3;  
  170.     private javax.swing.JLabel jLabelName;  
  171.     private javax.swing.JLabel jLabelType;  
  172.     private javax.swing.JTextField tfdName;  
  173.     // End of variables declaration//GEN-END:variables  
  174.   
  175. }  
删除用户:

[java] view plain copy
 技术分享技术分享
  1. /* 
  2.  * deletePanel.java 
  3.  * 
  4.  * Created on __DATE__, __TIME__ 
  5.  */  
  6.   
  7. package cn.hncu.user.ui;  
  8.   
  9. import javax.swing.JFrame;  
  10. import javax.swing.JOptionPane;  
  11.   
  12. import cn.hncu.common.UserTypeEnum;  
  13. import cn.hncu.user.business.ebi.UserEbi;  
  14. import cn.hncu.user.business.factory.UserEbiFactory;  
  15. import cn.hncu.user.vo.UserModel;  
  16.   
  17. /** 
  18.  * 
  19.  * @author  __USER__ 
  20.  */  
  21. public class deletePanel extends javax.swing.JPanel {  
  22.     private JFrame mainFrame = null;  
  23.     private String uuid = null;  
  24.   
  25.     /** Creates new form deletePanel */  
  26.     public deletePanel(JFrame mainFrame, String uuid) {  
  27.         this.mainFrame = mainFrame;  
  28.         this.uuid = uuid;  
  29.         this.setOpaque(false);  
  30.         initComponents();  
  31.         myInit();  
  32.     }  
  33.   
  34.     private void myInit() {  
  35.         UserEbi ebi = UserEbiFactory.getUserEbi();  
  36.         UserModel user = new UserModel();  
  37.         user = ebi.getSingle(uuid);  
  38.   
  39.         tfdUuid.setText(uuid);  
  40.         tfdUuid.setEditable(false);  
  41.   
  42.         tfdName.setText(user.getName());  
  43.         tfdName.setEditable(false);  
  44.   
  45.         tfdType.setText(UserTypeEnum.getNameByType(user.getType()));  
  46.         tfdType.setEditable(false);  
  47.     }  
  48.   
  49.     /** This method is called from within the constructor to 
  50.      * initialize the form. 
  51.      * WARNING: Do NOT modify this code. The content of this method is 
  52.      * always regenerated by the Form Editor. 
  53.      */  
  54.     //GEN-BEGIN:initComponents  
  55.     // <editor-fold defaultstate="collapsed" desc="Generated Code">  
  56.     private void initComponents() {  
  57.   
  58.         jLabel1 = new javax.swing.JLabel();  
  59.         jLabelType = new javax.swing.JLabel();  
  60.         jLabelName = new javax.swing.JLabel();  
  61.         tfdName = new javax.swing.JTextField();  
  62.         jLabel4 = new javax.swing.JLabel();  
  63.         tfdUuid = new javax.swing.JTextField();  
  64.         tfdType = new javax.swing.JTextField();  
  65.         btnDelete = new javax.swing.JButton();  
  66.         btnBack = new javax.swing.JButton();  
  67.   
  68.         setLayout(null);  
  69.   
  70.         jLabel1.setFont(new java.awt.Font("Microsoft YaHei UI"124));  
  71.         jLabel1.setForeground(new java.awt.Color(102255102));  
  72.         jLabel1.setText("\u5220\u9664\u7528\u6237...");  
  73.         add(jLabel1);  
  74.         jLabel1.setBounds(2902016080);  
  75.   
  76.         jLabelType.setForeground(new java.awt.Color(102255102));  
  77.         jLabelType.setText("\u7528\u6237\u7c7b\u578b\uff1a");  
  78.         add(jLabelType);  
  79.         jLabelType.setBounds(11023011030);  
  80.   
  81.         jLabelName.setForeground(new java.awt.Color(102255102));  
  82.         jLabelName.setText("\u59d3\u540d\uff1a");  
  83.         add(jLabelName);  
  84.         jLabelName.setBounds(1401807030);  
  85.         add(tfdName);  
  86.         tfdName.setBounds(21018010026);  
  87.   
  88.         jLabel4.setForeground(new java.awt.Color(102255102));  
  89.         jLabel4.setText("uuid\uff1a");  
  90.         add(jLabel4);  
  91.         jLabel4.setBounds(1401405220);  
  92.         add(tfdUuid);  
  93.         tfdUuid.setBounds(21014010026);  
  94.         add(tfdType);  
  95.         tfdType.setBounds(21023016026);  
  96.   
  97.         btnDelete.setText("\u5220\u9664");  
  98.         btnDelete.addActionListener(new java.awt.event.ActionListener() {  
  99.             public void actionPerformed(java.awt.event.ActionEvent evt) {  
  100.                 btnDeleteActionPerformed(evt);  
  101.             }  
  102.         });  
  103.         add(btnDelete);  
  104.         btnDelete.setBounds(1603606329);  
  105.   
  106.         btnBack.setText("\u8fd4\u56de");  
  107.         btnBack.addActionListener(new java.awt.event.ActionListener() {  
  108.             public void actionPerformed(java.awt.event.ActionEvent evt) {  
  109.                 btnBackActionPerformed(evt);  
  110.             }  
  111.         });  
  112.         add(btnBack);  
  113.         btnBack.setBounds(3703606329);  
  114.     }// </editor-fold>  
  115.     //GEN-END:initComponents  
  116.   
  117.     private void btnBackActionPerformed(java.awt.event.ActionEvent evt) {  
  118.         mainFrame.setContentPane(new UserListPanel(mainFrame));  
  119.         mainFrame.validate();  
  120.     }  
  121.   
  122.     private void btnDeleteActionPerformed(java.awt.event.ActionEvent evt) {  
  123.         UserEbi ebi = UserEbiFactory.getUserEbi();  
  124.         if (ebi.delete(uuid)) {  
  125.             mainFrame.setContentPane(new UserListPanel(mainFrame));  
  126.             mainFrame.validate();  
  127.         } else {  
  128.             JOptionPane.showMessageDialog(null"该用户不存在");  
  129.         }  
  130.     }  
  131.   
  132.     //GEN-BEGIN:variables  
  133.     // Variables declaration - do not modify  
  134.     private javax.swing.JButton btnBack;  
  135.     private javax.swing.JButton btnDelete;  
  136.     private javax.swing.JLabel jLabel1;  
  137.     private javax.swing.JLabel jLabel4;  
  138.     private javax.swing.JLabel jLabelName;  
  139.     private javax.swing.JLabel jLabelType;  
  140.     private javax.swing.JTextField tfdName;  
  141.     private javax.swing.JTextField tfdType;  
  142.     private javax.swing.JTextField tfdUuid;  
  143.     // End of variables declaration//GEN-END:variables  
  144.   
  145. }  
修改用户:

[java] view plain copy
 技术分享技术分享
  1. /* 
  2.  * upDatePanel.java 
  3.  * 
  4.  * Created on __DATE__, __TIME__ 
  5.  */  
  6.   
  7. package cn.hncu.user.ui;  
  8.   
  9. import javax.swing.JFrame;  
  10. import javax.swing.JOptionPane;  
  11.   
  12. import cn.hncu.common.UserTypeEnum;  
  13. import cn.hncu.user.business.ebi.UserEbi;  
  14. import cn.hncu.user.business.factory.UserEbiFactory;  
  15. import cn.hncu.user.vo.UserModel;  
  16.   
  17. /** 
  18.  * 
  19.  * @author  __USER__ 
  20.  */  
  21. public class upDatePanel extends javax.swing.JPanel {  
  22.     private JFrame mainFrame = null;  
  23.     private String uuid = null;  
  24.   
  25.     /** Creates new form upDatePanel */  
  26.     public upDatePanel(JFrame mainFrame, String uuid) {  
  27.         this.mainFrame = mainFrame;  
  28.         this.uuid = uuid;  
  29.         this.setOpaque(false);  
  30.         initComponents();  
  31.         myInit();  
  32.     }  
  33.   
  34.     private void myInit() {  
  35.         UserEbi ebi = UserEbiFactory.getUserEbi();  
  36.         UserModel user = ebi.getSingle(uuid);  
  37.         user = ebi.getSingle(uuid);  
  38.         tfdUuid.setText(uuid);  
  39.         tfdUuid.setEditable(false);  
  40.         tfdName.setText(user.getName());  
  41.         Pwd1.setText(user.getPwd());  
  42.         Pwd2.setText(user.getPwd());  
  43.   
  44.         combType.removeAllItems();  
  45.         combType.addItem(UserTypeEnum.getNameByType(user.getType()));  
  46.         for (UserTypeEnum u : UserTypeEnum.values()) {  
  47.             if (u.getType() != user.getType()) {  
  48.                 combType.addItem(u.getName());  
  49.             }  
  50.         }  
  51.     }  
  52.   
  53.     /** This method is called from within the constructor to 
  54.      * initialize the form. 
  55.      * WARNING: Do NOT modify this code. The content of this method is 
  56.      * always regenerated by the Form Editor. 
  57.      */  
  58.     //GEN-BEGIN:initComponents  
  59.     // <editor-fold defaultstate="collapsed" desc="Generated Code">  
  60.     private void initComponents() {  
  61.   
  62.         jLabel1 = new javax.swing.JLabel();  
  63.         jLabelType = new javax.swing.JLabel();  
  64.         jLabelName = new javax.swing.JLabel();  
  65.         tfdName = new javax.swing.JTextField();  
  66.         jLabel = new javax.swing.JLabel();  
  67.         Pwd1 = new javax.swing.JPasswordField();  
  68.         jLabel4 = new javax.swing.JLabel();  
  69.         tfdUuid = new javax.swing.JTextField();  
  70.         btnUpDate = new javax.swing.JButton();  
  71.         btnBack = new javax.swing.JButton();  
  72.         combType = new javax.swing.JComboBox();  
  73.         jLabel2 = new javax.swing.JLabel();  
  74.         Pwd2 = new javax.swing.JPasswordField();  
  75.   
  76.         setForeground(new java.awt.Color(102255102));  
  77.         setLayout(null);  
  78.   
  79.         jLabel1.setFont(new java.awt.Font("Microsoft YaHei UI"124));  
  80.         jLabel1.setForeground(new java.awt.Color(102255102));  
  81.         jLabel1.setText("\u4fee\u6539\u7528\u6237...");  
  82.         add(jLabel1);  
  83.         jLabel1.setBounds(2602016080);  
  84.   
  85.         jLabelType.setForeground(new java.awt.Color(102255102));  
  86.         jLabelType.setText("\u7528\u6237\u7c7b\u578b\uff1a");  
  87.         add(jLabelType);  
  88.         jLabelType.setBounds(8018011030);  
  89.   
  90.         jLabelName.setForeground(new java.awt.Color(102255102));  
  91.         jLabelName.setText("\u59d3\u540d\uff1a");  
  92.         add(jLabelName);  
  93.         jLabelName.setBounds(1101307030);  
  94.         add(tfdName);  
  95.         tfdName.setBounds(18013010026);  
  96.   
  97.         jLabel.setForeground(new java.awt.Color(102255102));  
  98.         jLabel.setText("\u5bc6\u7801\uff1a");  
  99.         add(jLabel);  
  100.         jLabel.setBounds(1102304520);  
  101.         add(Pwd1);  
  102.         Pwd1.setBounds(18023023024);  
  103.   
  104.         jLabel4.setForeground(new java.awt.Color(102255102));  
  105.         jLabel4.setText("uuid\uff1a");  
  106.         add(jLabel4);  
  107.         jLabel4.setBounds(110905220);  
  108.         add(tfdUuid);  
  109.         tfdUuid.setBounds(1809010026);  
  110.   
  111.         btnUpDate.setText("\u4fee\u6539");  
  112.         btnUpDate.addActionListener(new java.awt.event.ActionListener() {  
  113.             public void actionPerformed(java.awt.event.ActionEvent evt) {  
  114.                 btnUpDateActionPerformed(evt);  
  115.             }  
  116.         });  
  117.         add(btnUpDate);  
  118.         btnUpDate.setBounds(1603606329);  
  119.   
  120.         btnBack.setText("\u8fd4\u56de");  
  121.         btnBack.addActionListener(new java.awt.event.ActionListener() {  
  122.             public void actionPerformed(java.awt.event.ActionEvent evt) {  
  123.                 btnBackActionPerformed(evt);  
  124.             }  
  125.         });  
  126.         add(btnBack);  
  127.         btnBack.setBounds(3703606329);  
  128.   
  129.         combType.setModel(new javax.swing.DefaultComboBoxModel(  
  130.                 new String[] { "请选择" }));  
  131.         add(combType);  
  132.         combType.setBounds(18018020026);  
  133.   
  134.         jLabel2.setForeground(new java.awt.Color(102255102));  
  135.         jLabel2.setText("\u786e\u8ba4\u5bc6\u7801\uff1a");  
  136.         add(jLabel2);  
  137.         jLabel2.setBounds(802709020);  
  138.         add(Pwd2);  
  139.         Pwd2.setBounds(18027023024);  
  140.     }// </editor-fold>  
  141.     //GEN-END:initComponents  
  142.   
  143.     private void btnBackActionPerformed(java.awt.event.ActionEvent evt) {  
  144.         mainFrame.setContentPane(new UserListPanel(mainFrame));  
  145.         mainFrame.validate();  
  146.     }  
  147.   
  148.     private void btnUpDateActionPerformed(java.awt.event.ActionEvent evt) {  
  149.         //收集参数  
  150.         String uuid = tfdUuid.getText();  
  151.         String name = tfdName.getText();  
  152.         String pwd1 = new String(Pwd1.getPassword());  
  153.         String pwd2 = new String(Pwd2.getPassword());  
  154.         if (!pwd1.equals(pwd2)) {  
  155.             JOptionPane.showMessageDialog(null"两次密码不一致,请重新输入!");  
  156.             return;  
  157.         }  
  158.         int type = 0;  
  159.         try {  
  160.             type = UserTypeEnum.getTypeByName(combType.getSelectedItem()  
  161.                     .toString());  
  162.         } catch (Exception e) {  
  163.             JOptionPane.showMessageDialog(null"请指定用户类型");  
  164.             return;  
  165.         }  
  166.   
  167.         //组织参数  
  168.         UserModel user = new UserModel();  
  169.         user.setName(name);  
  170.         user.setPwd(pwd1);  
  171.         user.setType(type);  
  172.         user.setUuid(uuid);  
  173.   
  174.         //调用逻辑层  
  175.         UserEbi ebi = UserEbiFactory.getUserEbi();  
  176.         if (ebi.upDate(user)) {  
  177.             mainFrame.setContentPane(new UserListPanel(mainFrame));  
  178.             mainFrame.validate();  
  179.         } else {  
  180.             JOptionPane.showMessageDialog(null"该用户已不存在");  
  181.         }  
  182.     }  
  183.   
  184.     //GEN-BEGIN:variables  
  185.     // Variables declaration - do not modify  
  186.     private javax.swing.JPasswordField Pwd1;  
  187.     private javax.swing.JPasswordField Pwd2;  
  188.     private javax.swing.JButton btnBack;  
  189.     private javax.swing.JButton btnUpDate;  
  190.     private javax.swing.JComboBox combType;  
  191.     private javax.swing.JLabel jLabel;  
  192.     private javax.swing.JLabel jLabel1;  
  193.     private javax.swing.JLabel jLabel2;  
  194.     private javax.swing.JLabel jLabel4;  
  195.     private javax.swing.JLabel jLabelName;  
  196.     private javax.swing.JLabel jLabelType;  
  197.     private javax.swing.JTextField tfdName;  
  198.     private javax.swing.JTextField tfdUuid;  
  199.     // End of variables declaration//GEN-END:variables  
  200.   
  201. }  
查询用户:

[java] view plain copy
 技术分享技术分享
  1. /* 
  2.  * QueryPanel.java 
  3.  * 
  4.  * Created on __DATE__, __TIME__ 
  5.  */  
  6.   
  7. package cn.hncu.user.ui;  
  8.   
  9. import java.awt.event.ActionEvent;  
  10. import java.util.List;  
  11.   
  12. import javax.swing.JFrame;  
  13. import javax.swing.JOptionPane;  
  14.   
  15. import cn.hncu.common.UserTypeEnum;  
  16. import cn.hncu.user.business.ebi.UserEbi;  
  17. import cn.hncu.user.business.factory.UserEbiFactory;  
  18. import cn.hncu.user.vo.UserModel;  
  19. import cn.hncu.user.vo.UserQueryModel;  
  20.   
  21. /** 
  22.  * 
  23.  * @author  __USER__ 
  24.  */  
  25. public class QueryPanel extends javax.swing.JPanel {  
  26.     private JFrame mainFrame = null;  
  27.   
  28.     /** Creates new form QueryPanel */  
  29.     public QueryPanel(JFrame mainFrame) {  
  30.         this.mainFrame = mainFrame;  
  31.         this.setOpaque(false);  
  32.         initComponents();  
  33.         MyInit();  
  34.     }  
  35.   
  36.     private void MyInit() {  
  37.         for (UserTypeEnum user : UserTypeEnum.values()) {  
  38.             CombType.addItem(user.getName());  
  39.         }  
  40.     }  
  41.   
  42.     /** This method is called from within the constructor to 
  43.      * initialize the form. 
  44.      * WARNING: Do NOT modify this code. The content of this method is 
  45.      * always regenerated by the Form Editor. 
  46.      */  
  47.     //GEN-BEGIN:initComponents  
  48.     // <editor-fold defaultstate="collapsed" desc="Generated Code">  
  49.     private void initComponents() {  
  50.   
  51.         jLabel1 = new javax.swing.JLabel();  
  52.         jLabelName = new javax.swing.JLabel();  
  53.         tfdName = new javax.swing.JTextField();  
  54.         btnQuery = new javax.swing.JButton();  
  55.         btnBack = new javax.swing.JButton();  
  56.         jLabel4 = new javax.swing.JLabel();  
  57.         tfdUuid = new javax.swing.JTextField();  
  58.         jLabel2 = new javax.swing.JLabel();  
  59.         CombType = new javax.swing.JComboBox();  
  60.   
  61.         setLayout(null);  
  62.   
  63.         jLabel1.setFont(new java.awt.Font("Microsoft YaHei UI"124));  
  64.         jLabel1.setForeground(new java.awt.Color(102255102));  
  65.         jLabel1.setText("\u67e5\u8be2\u7528\u6237");  
  66.         add(jLabel1);  
  67.         jLabel1.setBounds(2801014070);  
  68.   
  69.         jLabelName.setForeground(new java.awt.Color(102255102));  
  70.         jLabelName.setText("\u59d3\u540d\uff1a");  
  71.         add(jLabelName);  
  72.         jLabelName.setBounds(3801007030);  
  73.         add(tfdName);  
  74.         tfdName.setBounds(45010010030);  
  75.   
  76.         btnQuery.setText("\u67e5\u8be2");  
  77.         btnQuery.addActionListener(new java.awt.event.ActionListener() {  
  78.             public void actionPerformed(java.awt.event.ActionEvent evt) {  
  79.                 btnQueryActionPerformed(evt);  
  80.             }  
  81.         });  
  82.         add(btnQuery);  
  83.         btnQuery.setBounds(2303106330);  
  84.   
  85.         btnBack.setText("\u8fd4\u56de");  
  86.         btnBack.addActionListener(new java.awt.event.ActionListener() {  
  87.             public void actionPerformed(java.awt.event.ActionEvent evt) {  
  88.                 btnBackActionPerformed(evt);  
  89.             }  
  90.         });  
  91.         add(btnBack);  
  92.         btnBack.setBounds(4103106330);  
  93.   
  94.         jLabel4.setForeground(new java.awt.Color(102255102));  
  95.         jLabel4.setText("uuid\uff1a");  
  96.         add(jLabel4);  
  97.         jLabel4.setBounds(1101005220);  
  98.         add(tfdUuid);  
  99.         tfdUuid.setBounds(18010010030);  
  100.   
  101.         jLabel2.setForeground(new java.awt.Color(102255102));  
  102.         jLabel2.setText("\u7528\u6237\u7c7b\u578b\uff1a");  
  103.         add(jLabel2);  
  104.         jLabel2.setBounds(8020010040);  
  105.   
  106.         CombType.setModel(new javax.swing.DefaultComboBoxModel(  
  107.                 new String[] { "请选择..." }));  
  108.         add(CombType);  
  109.         CombType.setBounds(18021019026);  
  110.     }// </editor-fold>  
  111.     //GEN-END:initComponents  
  112.   
  113.     protected void btnQueryActionPerformed(ActionEvent evt) {  
  114.         //1收集参数  
  115.         String uuid = tfdUuid.getText();  
  116.         String name = tfdName.getText();  
  117.         int type = 0;  
  118.         if (CombType.getSelectedIndex() > 0) {  
  119.             type = UserTypeEnum.getTypeByName(CombType.getSelectedItem()  
  120.                     .toString());  
  121.         }  
  122.         //2组织参数  
  123.         UserQueryModel uqm = new UserQueryModel();  
  124.         uqm.setUuid(uuid);  
  125.         uqm.setName(name);  
  126.         uqm.setType(type);  
  127.   
  128.         //3调用逻辑层   
  129.         UserEbi ebi = UserEbiFactory.getUserEbi();  
  130.         List<UserModel> results = ebi.getByCondition(uqm);  
  131.         //4返回到不同的结果页面  
  132.         mainFrame.setContentPane(new UserListPanel(mainFrame, results));  
  133.         mainFrame.validate();  
  134.   
  135.     }  
  136.   
  137.     private void btnBackActionPerformed(java.awt.event.ActionEvent evt) {  
  138.         mainFrame.setContentPane(new UserListPanel(mainFrame));  
  139.         mainFrame.validate();  
  140.     }  
  141.   
  142.     private void btnAddActionPerformed(java.awt.event.ActionEvent evt) {  
  143.         //收集参数  
  144.         String uuid = tfdUuid.getText();  
  145.         String name = tfdName.getText();  
  146.         int type = 0;  
  147.         if (CombType.getSelectedIndex() > 0) {  
  148.             type = UserTypeEnum.getTypeByName(CombType.getSelectedItem()  
  149.                     .toString());  
  150.         }  
  151.   
  152.         //组织参数  
  153.         UserQueryModel uqm = new UserQueryModel();  
  154.         uqm.setName(name);  
  155.         uqm.setType(type);  
  156.         uqm.setUuid(uuid);  
  157.   
  158.         //调用逻辑层  
  159.         UserEbi ebi = UserEbiFactory.getUserEbi();  
  160.         List<UserModel> list = ebi.getByCondition(uqm);  
  161.         mainFrame.setContentPane(new UserListPanel(mainFrame, list));  
  162.         mainFrame.validate();  
  163.     }  
  164.   
  165.     //GEN-BEGIN:variables  
  166.     // Variables declaration - do not modify  
  167.     private javax.swing.JComboBox CombType;  
  168.     private javax.swing.JButton btnBack;  
  169.     private javax.swing.JButton btnQuery;  
  170.     private javax.swing.JLabel jLabel1;  
  171.     private javax.swing.JLabel jLabel2;  
  172.     private javax.swing.JLabel jLabel4;  
  173.     private javax.swing.JLabel jLabelName;  
  174.     private javax.swing.JTextField tfdName;  
  175.     private javax.swing.JTextField tfdUuid;  
  176.     // End of variables declaration//GEN-END:variables  
  177.   



Java之------单机版书店管理系统(设计思想和设计模式系列二)用户模块

标签:

原文地址:http://blog.csdn.net/x121850182/article/details/51496561

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!