图书管理项目 第一天 user用户模块

主要学习 增,删,改,查

   1)  用户层   ,逻辑层  ,数据层的调用;

    2) 数据的收集

    3) 数据的封装

    4) java对象的调用

    5)枚举的实现

    6)多态和重组

    7)工具类的构造

      8)文件的读写


逻辑层:business

              ebi包中  UserEbi

       

package cn.hncu.bookStore.user.business.ebi;

import java.util.List;

import cn.hncu.bookStore.user.vo.UserModel;
import cn.hncu.bookStore.user.vo.UserQueryModel;

public interface UserEbi {
    public boolean create(UserModel user);
    public boolean delete(String uuid);
    public boolean update(UserModel user);
    public List<UserModel> getAll();
    public UserModel getSingle(String uuid);
    public List<UserModel> getBycondition(UserQueryModel upm);
    
}

           ebo包中的 UserEbo

package cn.hncu.bookStore.user.business.ebo;

import java.util.List;

import cn.hncu.bookStore.user.business.ebi.UserEbi;
import cn.hncu.bookStore.user.dao.dao.UserDao;
import cn.hncu.bookStore.user.dao.factory.UserDaoFactory;
import cn.hncu.bookStore.user.vo.UserModel;
import cn.hncu.bookStore.user.vo.UserQueryModel;

public class UserEbo implements UserEbi{

	public boolean create(UserModel user) {
		if(user.getName()!=null && user.getName().trim().length()<=0){
			return false;
		}
          UserDao dao =UserDaoFactory.getUserDao();
           return dao.create(user);
	}

	public boolean delete(String uuid) {
		UserDao dao=UserDaoFactory.getUserDao();
		return dao.delete(uuid);
	}

	public List<UserModel> getAll() {
		UserDao dao=UserDaoFactory.getUserDao();
		return dao.getAll();
	}

	public List<UserModel> getBycondition(UserQueryModel uqm) {
       UserDao dao=UserDaoFactory.getUserDao();
       return dao.getBycondition(uqm);
		
	}

	public UserModel getSingle(String uuid) {
         UserDao dao=UserDaoFactory.getUserDao();
         return dao.getSingle(uuid);
	}

	public boolean update(UserModel user) {
	    UserDao dao=UserDaoFactory.getUserDao();
	    return dao.update(user);
	}

}

               factory工厂包的UserEbiFactory

package cn.hncu.bookStore.user.business.factory;

import cn.hncu.bookStore.user.business.ebi.UserEbi;
import cn.hncu.bookStore.user.business.ebo.UserEbo;

public class UserEbiFactory {
       public static UserEbi getUserEbi(){
    	   return new UserEbo();
       }
}


数据层:dao

          dao包中的UserDao

/**
 * 
 */
package cn.hncu.bookStore.user.dao.dao;

import java.util.List;

import cn.hncu.bookStore.user.vo.UserModel;
import cn.hncu.bookStore.user.vo.UserQueryModel;

/**
 * @author <a href="mailto:729627398@qq.com">LZP</a>
 * Aug 21, 2015
 */
public interface UserDao {
	/**
	 * 如果数据库中不存在该user对象,则创建一个新的。如果存在,则直接返回false
	 * @param user 将要被创建的用户对象
	 * @return 如果创建成功则返回true,否则返回false
	 */
	public boolean create(UserModel user);
	
	public boolean delete(String uuid);
	
	public boolean update(UserModel user);
	
	public List<UserModel> getAll();
	
	public UserModel getSingle(String uuid);
	
	public List<UserModel> getBycondition(UserQueryModel uqm);
	
}


        factory中的UserDaoFactory

package cn.hncu.bookStore.user.dao.factory;

import cn.hncu.bookStore.user.dao.dao.UserDao;
import cn.hncu.bookStore.user.dao.impl.UserDaoImpl;

public class UserDaoFactory {
   public static UserDao  getUserDao(){
	   return new UserDaoImpl();
   }
}


     实现类impl中UserDaoFactory


/**
 * 
 */
package cn.hncu.bookStore.user.dao.impl;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.ArrayList;
import java.util.List;

import cn.hncu.bookStore.user.dao.dao.UserDao;
import cn.hncu.bookStore.user.vo.UserModel;
import cn.hncu.bookStore.user.vo.UserQueryModel;
import cn.hncu.bookStore.util.FileIOUtil;

/**
 * @author <a href="mailto:729627398@qq.com">廖ZP</a>
 * <br>Aug 21, 2015
 */
public class UserDaoImpl implements UserDao {
	private final String FILE_NAME="User.txt";

	@SuppressWarnings("unchecked")
	public boolean create(UserModel user) {
		List<UserModel> list = getAll();
		if(list!=null){
			//遍历list,如果其中存在user则返回false,否则把user存入数据库
			for(UserModel u:list){
				if(u.getUuid().equals(user.getUuid())){
					return false;
				}
			}
		}
		list.add(user);
		//把更新后的list存入数据库
		FileIOUtil.write2File(FILE_NAME, list);
		return false;
	}

	public boolean delete(String uuid) {
	    List<UserModel> list =getAll();
	    for(int i=0;i<list.size();i++){
	         final UserModel user=list.get(i);
             if(user.getUuid().equals(uuid)){
            	 list.remove(i);
            	 FileIOUtil.write2File(FILE_NAME, list);
                  return true;
             }   	    
 	    }
		
		return false;
	}

	@SuppressWarnings("unchecked")
	public List<UserModel> getAll() {
		List<?> list = FileIOUtil.readFromFile(FILE_NAME);
		return (List<UserModel>)list;
	}

	public List<UserModel> getBycondition(UserQueryModel uqm) {
		//1从后台把所有的数据集读取出来
		List<UserModel> list = getAll();
		List<UserModel> ret = new ArrayList<UserModel>();//存放结果集
		
		if(uqm==null){
			return list;
		}
		//2利用卫条件来进行筛选
		//3筛选剩下的就是查询结果集
		for(UserModel user:list){
			//卫条件,判断uuid
			if( uqm.getUuid()!=null && uqm.getUuid().trim().length()>0){//先验证查询条件有效
				if(!uqm.getUuid().equals(user.getUuid()) ){ //再进行精确查询
					continue;
				}
			}
			//卫条件,判断用户名
			if( uqm.getName()!=null && uqm.getName().trim().length()>0){//先验证查询条件有效
				if(!user.getName().contains(uqm.getName().trim()) ){ //再进行模糊查询
					continue;
				}
			}
			//卫条件,判断用户类型,int型
			if(uqm.getType()>0){ //先验证查询条件有效,大于0才代表有输入
				if( uqm.getType()!=user.getType() ){
						continue;
				}
			}
			ret.add(user);
		}
		return ret;
	}

	public UserModel getSingle(String uuid) {
	List<UserModel> list=getAll();
	for(int i=0;i<list.size();i++){
		final UserModel user = list.get(i);
		if(user.getUuid().equals(uuid)){
			return user;
		}
	}
		return null;
	}

	public boolean update(UserModel user) {
		List<UserModel> list=getAll();
		for(int i=0;i<list.size();i++){
			final UserModel user0=list.get(i);
			if(user0.getUuid().equals(user.getUuid())){
				list.set(i,user);
				FileIOUtil.write2File(FILE_NAME, list);
				return true;
			}
		}
		
		
		
		
		return false;
	}
	public static void main(String[] args) {
		UserDaoImpl dao = new UserDaoImpl();
		dao.create(new UserModel("001","Jack",1,"1234"));
		dao.create(new UserModel("002","汉字",2,"1234"));
		
		List<UserModel> list = dao.getAll();
		System.out.println(list);
	}
}

 

用户层:ui
          增加面板 AddPanel

package cn.hncu.bookStore.user.ui;

import java.awt.GridBagLayout;
import javax.swing.JPanel;
import javax.swing.JLabel;
import java.awt.Rectangle;
import java.awt.Font;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.JComboBox;

import cn.hncu.bookStore.user.business.ebi.UserEbi;
import cn.hncu.bookStore.user.business.factory.UserEbiFactory;
import cn.hncu.bookStore.user.constance.UserTypeEnum;
import cn.hncu.bookStore.user.vo.UserModel;
import cn.hncu.bookStore.util.PanelUtil;

public class AddPanel extends JPanel {

	private static final long serialVersionUID = 1L;
	private JLabel jLabel = null;
	private JLabel jLabel1 = null;
	private JLabel jLabel2 = null;
	private JLabel jLabel3 = null;
	private JLabel jLabel4 = null;
	private JLabel jLabel5 = null;
	private JButton btnadd = null;
	private JButton btnback = null;
	private JTextField textUuid = null;
	private JTextField textName = null;
	private JTextField textPwd = null;
	private JTextField textPwd2 = null;
	private JComboBox combType = null;
	/**
	 * This is the default constructor
	 */
	private JFrame jFrame=null;
	public AddPanel(JFrame jFrame) {
		this.jFrame=jFrame;
		initialize();
	}
	public AddPanel() {
		super();
		initialize();
	}

	/**
	 * This method initializes this
	 * 
	 * @return void
	 */
	private void initialize() {
		jLabel5 = new JLabel();
		jLabel5.setBounds(new Rectangle(77, 204, 83, 33));
		jLabel5.setText("用户类型:");
		jLabel4 = new JLabel();
		jLabel4.setBounds(new Rectangle(431, 146, 76, 36));
		jLabel4.setText("确认密码:");
		jLabel3 = new JLabel();
		jLabel3.setBounds(new Rectangle(79, 146, 80, 31));
		jLabel3.setText("密码:");
		jLabel2 = new JLabel();
		jLabel2.setBounds(new Rectangle(430, 80, 76, 41));
		jLabel2.setText("姓名:");
		jLabel1 = new JLabel();
		jLabel1.setBounds(new Rectangle(81, 87, 74, 33));
		jLabel1.setText("uuid:");
		jLabel = new JLabel();
		jLabel.setBounds(new Rectangle(268, 19, 146, 46));
		jLabel.setFont(new Font("Dialog", Font.BOLD, 24));
		jLabel.setText("增加列表");
		this.setSize(800, 600);
		this.setLayout(null);
		this.setFont(new Font("Dialog", Font.PLAIN, 24));
		this.add(jLabel, null);
		this.add(jLabel1, null);
		this.add(jLabel2, null);
		this.add(jLabel3, null);
		this.add(jLabel4, null);
		this.add(jLabel5, null);
		this.add(getBtnadd(), null);
		this.add(getBtnback(), null);
		this.add(getTextUuid(), null);
		this.add(getTextName(), null);
		this.add(getTextPwd(), null);
		this.add(getTextPwd2(), null);
		this.add(getCombType(), null);
	}

	/**
	 * This method initializes btnadd	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getBtnadd() {
		if (btnadd == null) {
			btnadd = new JButton();
			btnadd.setBounds(new Rectangle(61, 274, 150, 65));
			btnadd.setText("增加");
			btnadd.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					//1 收集数据
					String uuid = textUuid.getText();
					String name = textName.getText();
					if(name.trim().length()<=0){
						JOptionPane.showMessageDialog(null, "用户名不能为空!");
						return;
					}
					
					String pwd = textPwd.getText();
					String pwd2 = textPwd2.getText();
					  //要判断两次密码是否一致
					if(!pwd.equals(pwd2)){
						JOptionPane.showMessageDialog(null, "您输入的两次密码不一致,请重新输入...");
						return;
					}
					  //用户类型
					String selStr = combType.getSelectedItem().toString();
					int type = UserTypeEnum.getTypeByName(selStr);
					
					//2 组织数据
					UserModel user = new UserModel();
					user.setUuid(uuid);
					user.setName(name);
					user.setPwd(pwd);
					user.setType(type);
					
					//3 调用逻辑层ebi
					UserEbi ebi = UserEbiFactory.getUserEbi();
					boolean success = ebi.create(user);
					
					//4 根据逻辑层的返回结果,选择转到不同的结果页面
					if(success){
						PanelUtil.changePanel(jFrame, new ListPanel(jFrame));
					}else{
						JOptionPane.showMessageDialog(null, "该用户已经存在");
					}
				}
			});
		}
		return btnadd;
	}

	/**
	 * This method initializes btnback	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getBtnback() {
		if (btnback == null) {
			btnback = new JButton();
			btnback.setBounds(new Rectangle(406, 274, 137, 63));
			btnback.setText("返回");
			btnback.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					jFrame.getContentPane().removeAll();
					jFrame.getContentPane().add(new ListPanel(jFrame));
					jFrame.getContentPane().validate();
					jFrame.getContentPane().repaint();
				}
			});
		}
		return btnback;
	}

	/**
	 * This method initializes textUuid	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getTextUuid() {
		if (textUuid == null) {
			textUuid = new JTextField();
			textUuid.setBounds(new Rectangle(180, 90, 127, 34));
		}
		return textUuid;
	}

	/**
	 * This method initializes textName	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getTextName() {
		if (textName == null) {
			textName = new JTextField();
			textName.setBounds(new Rectangle(530, 82, 122, 38));
		}
		return textName;
	}

	/**
	 * This method initializes textPwd	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getTextPwd() {
		if (textPwd == null) {
			textPwd = new JTextField();
			textPwd.setBounds(new Rectangle(180, 148, 135, 32));
		}
		return textPwd;
	}

	/**
	 * This method initializes textPwd2	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getTextPwd2() {
		if (textPwd2 == null) {
			textPwd2 = new JTextField();
			textPwd2.setBounds(new Rectangle(531, 148, 123, 32));
		}
		return textPwd2;
	}

	/**
	 * This method initializes combType	
	 * 	
	 * @return javax.swing.JComboBox	
	 */
	private JComboBox getCombType() {
		if (combType == null) {
			combType = new JComboBox();
			combType.setBounds(new Rectangle(183, 210, 137, 40));
			//从枚举对象中把各种用户类型添加到该组合框控件
			for(UserTypeEnum type: UserTypeEnum.values()){
				combType.addItem( type.getName());
			}
		}
		return combType;
	}

}  //  @jve:decl-index=0:visual-constraint="43,9"


                删除类 DeletePanel

package cn.hncu.bookStore.user.ui;

import java.awt.GridBagLayout;
import javax.swing.JPanel;
import javax.swing.JLabel;
import java.awt.Rectangle;
import java.awt.Font;

import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.JComboBox;
import javax.swing.JButton;

import cn.hncu.bookStore.user.business.ebi.UserEbi;
import cn.hncu.bookStore.user.business.factory.UserEbiFactory;
import cn.hncu.bookStore.user.constance.UserTypeEnum;
import cn.hncu.bookStore.user.vo.UserModel;
import cn.hncu.bookStore.util.PanelUtil;

public class DeletePanel extends JPanel {

	private static final long serialVersionUID = 1L;
	private JLabel jLabel = null;
	private JLabel jLabel1 = null;
	private JTextField textUuid = null;
	private JLabel jLabel2 = null;
	private JTextField textName = null;
	private JComboBox ComeUser = null;
	private JLabel jLabel3 = null;
	private JButton btnUser = null;
	private JButton btnBack = null;
    private JFrame jFrame=null;
    private UserModel initUser=null;
	/**
	 * This is the default constructor
	 */
    public DeletePanel(JFrame jFrame,String uuid) {
	    this.jFrame=jFrame;
	    initUser=UserEbiFactory.getUserEbi().getSingle(uuid);
		initialize();
	}
	public DeletePanel() {
		super();
		initialize();
	}

	/**
	 * This method initializes this
	 * 
	 * @return void
	 */
	private void initialize() {
		jLabel3 = new JLabel();
		jLabel3.setBounds(new Rectangle(93, 196, 67, 40));
		jLabel3.setText("用户类型:");
		jLabel2 = new JLabel();
		jLabel2.setBounds(new Rectangle(399, 102, 72, 48));
		jLabel2.setText("姓名:");
		jLabel1 = new JLabel();
		jLabel1.setBounds(new Rectangle(95, 112, 50, 30));
		jLabel1.setText("uuid:");
		jLabel = new JLabel();
		jLabel.setBounds(new Rectangle(248, 19, 160, 53));
		jLabel.setFont(new Font("Dialog", Font.BOLD, 24));
		jLabel.setText("删除用户");
		this.setSize(800, 600);
		this.setLayout(null);
		this.add(jLabel, null);
		this.add(jLabel1, null);
		this.add(getTextUuid(), null);
		this.add(jLabel2, null);
		this.add(getTextName(), null);
		this.add(getComeUser(), null);
		this.add(jLabel3, null);
		this.add(getBtnUser(), null);
		this.add(getBtnBack(), null);
	}

	/**
	 * This method initializes textUuid	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getTextUuid() {
		if (textUuid == null) {
			textUuid = new JTextField();
			textUuid.setBounds(new Rectangle(165, 109, 130, 42));
			//初始化数据
			
			
			String uuid=initUser.getUuid();
			textUuid.setText(uuid);
			textUuid.setEditable(false);
		}
		return textUuid;
	}

	/**
	 * This method initializes textName	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getTextName() {
		if (textName == null) {
			textName = new JTextField();
			textName.setBounds(new Rectangle(489, 106, 133, 44));
		  // 数据初始化
			
			String name=initUser.getName();
			textName.setText(name);
		
		}
		return textName;
	}

	/**
	 * This method initializes ComeUser	
	 * 	
	 * @return javax.swing.JComboBox	
	 */
	private JComboBox getComeUser() {
		if (ComeUser == null) {
			ComeUser = new JComboBox();
			ComeUser.setBounds(new Rectangle(172, 194, 128, 45));
		    //初始化数据
			for(UserTypeEnum type : UserTypeEnum.values()){
				ComeUser.addItem(type.getName());
				if(type.getType()==initUser.getType()){
					ComeUser.setSelectedItem(type.getName());
					
				}
			}
			
		
		
		
		
		}
		return ComeUser;
	}

	/**
	 * This method initializes btnUser	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getBtnUser() {
		if (btnUser == null) {
			btnUser = new JButton();
			btnUser.setBounds(new Rectangle(92, 275, 148, 64));
			btnUser.setText("删除");
			btnUser.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
                 //1.手机参数
			     //2.组织参数
				// 3.调用逻辑层ebi
				UserEbi ebi=UserEbiFactory.getUserEbi();
				boolean success=ebi.delete(textUuid.getText());
				//4.根据逻辑层的返回结果,选择转到不用的结果页面
				if(success){
					PanelUtil.changePanel(jFrame, new ListPanel(jFrame));
				}else{
					JOptionPane.showMessageDialog(null,"该用户已经不存在。。");
				}
				
				
				
				
				
				
				}
			});
		}
		return btnUser;
	}

	/**
	 * This method initializes btnBack	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getBtnBack() {
		if (btnBack == null) {
			btnBack = new JButton();
			btnBack.setBounds(new Rectangle(381, 276, 158, 66));
			btnBack.setText("返回");
			btnBack.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {

					PanelUtil.changePanel(jFrame, new ListPanel(jFrame));
									
				
				
				}
			});
		}
		return btnBack;
	}

}


 

用户列表 listPanel

package cn.hncu.bookStore.user.ui;

import java.awt.GridBagLayout;
import javax.swing.JPanel;
import javax.swing.JLabel;
import java.awt.Rectangle;

import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JList;
import javax.swing.JButton;

import cn.hncu.bookStore.user.business.ebi.UserEbi;
import cn.hncu.bookStore.user.business.factory.UserEbiFactory;
import cn.hncu.bookStore.user.vo.UserModel;
import cn.hncu.bookStore.util.PanelUtil;

import java.awt.Font;
import java.util.List;

public class ListPanel extends JPanel {

	private static final long serialVersionUID = 1L;
	private JLabel jLabel = null;
	private JScrollPane jScrollPane = null;
	private JList jList = null;
	private JButton btnToAdd = null;
    private List<UserModel> list=null;

    private JFrame jFrame=null;
	private JButton btnToUpdate = null;
	private JButton btnToDelete = null;
	private JButton btnQuery = null;
    public ListPanel(JFrame jFrame) {
		this.jFrame=jFrame;
		initialize();
		//调用逻辑层,把原有的用户载到list当中
		list = UserEbiFactory.getUserEbi().getAll();
		initialize();
	}
	public ListPanel() {
		super();
		initialize();
	}
	public ListPanel(JFrame jFrame, List<UserModel> ret) {//专用于显示查询结果的ListPanel
		this.jFrame = jFrame;
		list = ret;
		initialize();
	}
	/**
	 * This method initializes this
	 * 
	 * @return void
	 */
	private void initialize() {
		jLabel = new JLabel();
		jLabel.setBounds(new Rectangle(270, 12, 163, 44));
		jLabel.setFont(new Font("Dialog", Font.BOLD, 24));
		jLabel.setText("用户列表");
		this.setSize(800, 600);
		this.setLayout(null);
		this.add(jLabel, null);
		
		
		
		this.add(getJScrollPane(), null);
		this.add(getBtnToAdd(), null);
		this.add(getBtnToUpdate(), null);
		this.add(getBtnToDelete(), null);
		this.add(getBtnQuery(), null);
	}

	/**
	 * This method initializes jScrollPane	
	 * 	
	 * @return javax.swing.JScrollPane	
	 */
	private JScrollPane getJScrollPane() {
		if (jScrollPane == null) {
			jScrollPane = new JScrollPane();
			jScrollPane.setBounds(new Rectangle(205, 75, 416, 316));
			jScrollPane.setViewportView(getJList());
		}
		return jScrollPane;
	}

	/**
	 * This method initializes jList	
	 * 	
	 * @return javax.swing.JList	
	 */
	private JList getJList() {
		if (jList == null) {
			jList = new JList();
			//把从逻辑层载入的数据list放到控件中显示
			if(list!=null){
				   jList.setListData(list.toArray());
				}
		}
		return jList;
	}

	/**
	 * This method initializes btnToAdd	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getBtnToAdd() {
		if (btnToAdd == null) {
			btnToAdd = new JButton();
			btnToAdd.setBounds(new Rectangle(95, 428, 129, 65));
			btnToAdd.setText("转到增加");
			btnToAdd.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					jFrame.getContentPane().removeAll();
					jFrame.getContentPane().add(new AddPanel(jFrame));
					jFrame.getContentPane().validate();
					jFrame.getContentPane().repaint();
				}
			});
		}
		return btnToAdd;
	}
	/**
	 * This method initializes btnToUpdate	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getBtnToUpdate() {
		if (btnToUpdate == null) {
			btnToUpdate = new JButton();
			btnToUpdate.setBounds(new Rectangle(288, 431, 124, 68));
			btnToUpdate.setText("转到修改");
			btnToUpdate.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					UserModel user = (UserModel) jList.getSelectedValue();
					if(user==null){
						JOptionPane.showMessageDialog(null,"请选择要修改的用户。。");
						return;
					}
					PanelUtil.changePanel(jFrame, new UpDatePanel(jFrame,user.getUuid()));
				}
			});
		}
		return btnToUpdate;
	}
	/**
	 * This method initializes btnToDelete	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getBtnToDelete() {
		if (btnToDelete == null) {
			btnToDelete = new JButton();
			btnToDelete.setBounds(new Rectangle(455, 433, 132, 68));
			btnToDelete.setText("转到删除");
			btnToDelete.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
                 UserModel user= (UserModel) jList.getSelectedValue();
                 if(user==null){
                	 JOptionPane.showMessageDialog(null,"请选择要删除的用户。。");
                	 return;
                 }
					
                 PanelUtil.changePanel(jFrame, new DeletePanel(jFrame,user.getUuid()));				}
			});
		}
		return btnToDelete;
	}
	/**
	 * This method initializes btnQuery	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getBtnQuery() {
		if (btnQuery == null) {
			btnQuery = new JButton();
			btnQuery.setBounds(new Rectangle(620, 438, 123, 67));
			btnQuery.setText("转到查询");
			btnQuery.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
				
				PanelUtil.changePanel(jFrame, new QueryPanel(jFrame));
				
				}
			});
		}
		return btnQuery;
	}

}


查询列表  QueryPanel

package cn.hncu.bookStore.user.ui;

import java.awt.GridBagLayout;
import javax.swing.JPanel;
import javax.swing.JLabel;
import java.awt.Rectangle;
import java.util.List;

import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.JComboBox;
import javax.swing.JButton;

import cn.hncu.bookStore.user.business.ebi.UserEbi;
import cn.hncu.bookStore.user.business.factory.UserEbiFactory;
import cn.hncu.bookStore.user.constance.UserTypeEnum;
import cn.hncu.bookStore.user.vo.UserModel;
import cn.hncu.bookStore.user.vo.UserQueryModel;
import cn.hncu.bookStore.util.PanelUtil;

public class QueryPanel extends JPanel {

	private static final long serialVersionUID = 1L;
	private JLabel jLabel = null;
	private JLabel jLabel1 = null;
	private JLabel jLabel2 = null;
	private JLabel jLabel3 = null;
	private JTextField textUuid = null;
	private JTextField textName = null;
	private JComboBox ComUser = null;
	private JButton btnQuery = null;
	private JButton btnBack = null;
    
	private JFrame jFrame=null;
    
	
	
	
	/**
	 * This is the default constructor
	 */
	public QueryPanel(JFrame jFrame) {
		this.jFrame=jFrame;
		initialize();
	}

	public QueryPanel() {
		super();
		initialize();
	}

	/**
	 * This method initializes this
	 * 
	 * @return void
	 */
	private void initialize() {
		jLabel3 = new JLabel();
		jLabel3.setBounds(new Rectangle(178, 133, 77, 30));
		jLabel3.setText("用户列表:");
		jLabel2 = new JLabel();
		jLabel2.setBounds(new Rectangle(450, 70, 67, 33));
		jLabel2.setText("姓名:");
		jLabel1 = new JLabel();
		jLabel1.setBounds(new Rectangle(178, 70, 72, 30));
		jLabel1.setText("uuid:");
		jLabel = new JLabel();
		jLabel.setBounds(new Rectangle(328, 14, 177, 40));
		jLabel.setText("查询列表");
		this.setSize(800, 600);
		this.setLayout(null);
		this.add(jLabel, null);
		this.add(jLabel1, null);
		this.add(jLabel2, null);
		this.add(jLabel3, null);
		this.add(getTextUuid(), null);
		this.add(getTextName(), null);
		this.add(getComUser(), null);
		this.add(getBtnQuery(), null);
		this.add(getBtnBack(), null);
	}

	/**
	 * This method initializes textUuid	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getTextUuid() {
		if (textUuid == null) {
			textUuid = new JTextField();
			textUuid.setBounds(new Rectangle(274, 69, 83, 35));
		}
		return textUuid;
	}

	/**
	 * This method initializes textName	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getTextName() {
		if (textName == null) {
			textName = new JTextField();
			textName.setBounds(new Rectangle(529, 71, 122, 32));
		}
		return textName;
	}

	/**
	 * This method initializes ComUser	
	 * 	
	 * @return javax.swing.JComboBox	
	 */
	private JComboBox getComUser() {
		if (ComUser == null) {
			ComUser = new JComboBox();
			ComUser.setBounds(new Rectangle(274, 133, 97, 31));
		     ComUser.addItem("请选择。。");
		    for(UserTypeEnum type:UserTypeEnum.values()){
		    	ComUser.addItem(type.getName());
		    }
		    return ComUser;
		
		}
		return ComUser;
	}

	/**
	 * This method initializes btnQuery	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getBtnQuery() {
		if (btnQuery == null) {
			btnQuery = new JButton();
			btnQuery.setBounds(new Rectangle(186, 220, 157, 62));
			btnQuery.setText("查询");
			btnQuery.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
				//收集数据
					String uuid=textUuid.getText();
					String name=textName.getText();
			   // 用户类型
					 int type=0;
					 if(ComUser.getSelectedIndex()>0){
						 String selStr=ComUser.getSelectedItem().toString();
						 type=UserTypeEnum.getTypeByName(selStr);
					 }
					
			    //组织数据(封装的查询条件,值对象)
					 UserQueryModel uqm=new UserQueryModel();
					 uqm.setUuid(uuid);
					 uqm.setName(name);
					 uqm.setType(type);
					 
				//	调用逻辑层
					UserEbi ebi=UserEbiFactory.getUserEbi();
					List<UserModel> ret=ebi.getBycondition(uqm);
				//根据逻辑层的返回结果,选择转到不同的结果页面
					PanelUtil.changePanel(jFrame,new ListPanel(jFrame,ret));
				}
			});
		}
		return btnQuery;
	}

	/**
	 * This method initializes btnBack	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getBtnBack() {
		if (btnBack == null) {
			btnBack = new JButton();
			btnBack.setBounds(new Rectangle(436, 217, 155, 66));
			btnBack.setText("返回");
			btnBack.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
			
				PanelUtil.changePanel(jFrame,new ListPanel(jFrame));
				
				}
			});
		}
		return btnBack;
	}

}


更新列表  UpDatePanel

package cn.hncu.bookStore.user.ui;

import java.awt.GridBagLayout;
import javax.swing.JPanel;
import javax.swing.JLabel;
import java.awt.Rectangle;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.JComboBox;

import cn.hncu.bookStore.user.business.ebi.UserEbi;
import cn.hncu.bookStore.user.business.factory.UserEbiFactory;
import cn.hncu.bookStore.user.constance.UserTypeEnum;
import cn.hncu.bookStore.user.vo.UserModel;
import cn.hncu.bookStore.util.PanelUtil;

public class UpDatePanel extends JPanel {

	private static final long serialVersionUID = 1L;
	private JLabel jLabel = null;
	private JLabel jLabel1 = null;
	private JLabel jLabel2 = null;
	private JLabel jLabel3 = null;
	private JLabel jLabel4 = null;
	private JLabel jLabel5 = null;
	private JButton btnUpdate = null;
	private JButton btnBack = null;
	private JTextField txtUuid = null;
	private JTextField txtName = null;
	private JTextField txtPwd = null;
	private JTextField txtPwd2 = null;
	private JComboBox comUser = null;
    private JFrame jFrame=null;
    private UserModel initUser=null;
    
	/**
	 * This is the default constructor
	 */
	public UpDatePanel() {
		super();
		initialize();
	}
	public UpDatePanel(JFrame jFrame,String uuid) {
		this.jFrame=jFrame;
		initUser = UserEbiFactory.getUserEbi().getSingle(uuid);
		initialize();
	}   

	/**
	 * This method initializes this
	 * 
	 * @return void
	 */
	private void initialize() {
		jLabel5 = new JLabel();
		jLabel5.setBounds(new Rectangle(82, 205, 107, 48));
		jLabel5.setText("用户类型:");
		jLabel4 = new JLabel();
		jLabel4.setBounds(new Rectangle(432, 144, 93, 34));
		jLabel4.setText("确认密码:");
		jLabel3 = new JLabel();
		jLabel3.setBounds(new Rectangle(84, 150, 103, 31));
		jLabel3.setText("密码:");
		jLabel2 = new JLabel();
		jLabel2.setBounds(new Rectangle(438, 87, 86, 34));
		jLabel2.setText("姓名:");
		jLabel1 = new JLabel();
		jLabel1.setBounds(new Rectangle(84, 93, 99, 29));
		jLabel1.setText("UUid");
		jLabel = new JLabel();
		jLabel.setBounds(new Rectangle(278, 17, 168, 52));
		jLabel.setText("修改列表");
		this.setSize(800, 600);
		this.setLayout(null);
		this.add(jLabel, null);
		this.add(jLabel1, null);
		this.add(jLabel2, null);
		this.add(jLabel3, null);
		this.add(jLabel4, null);
		this.add(jLabel5, null);
		this.add(getBtnUpdate(), null);
		this.add(getBtnBack(), null);
		this.add(getTxtUuid(), null);
		this.add(getTxtName(), null);
		this.add(getTxtPwd(), null);
		this.add(getTxtPwd2(), null);
		this.add(getComUser(), null);
	}

	/**
	 * This method initializes btnUpdate	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getBtnUpdate() {
		if (btnUpdate == null) {
			btnUpdate = new JButton();
			btnUpdate.setBounds(new Rectangle(114, 285, 136, 66));
			btnUpdate.setText("修改");
			btnUpdate.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					//1 收集数据
					String uuid = txtUuid.getText();
					String name = txtName.getText();
					if(name.trim().length()<=0){
						JOptionPane.showMessageDialog(null, "用户名不能为空!");
						return;
					}
					
					String pwd = new String(txtPwd.getText());
					String pwd2 = new String(txtPwd2.getText());
					  //要判断两次密码是否一致
					if(!pwd.equals(pwd2)){
						JOptionPane.showMessageDialog(null, "您输入的两次密码不一致,请重新输入...");
						return;
					}
					  //用户类型
					String selStr = comUser.getSelectedItem().toString();
					int type = UserTypeEnum.getTypeByName(selStr);
					
					//2 组织数据
					UserModel user = new UserModel();
					user.setUuid(uuid);
					user.setName(name);
					user.setPwd(pwd);
					user.setType(type);
					
					//3 调用逻辑层ebi
					UserEbi ebi = UserEbiFactory.getUserEbi();
					boolean success = ebi.update(user);
					
					//4 根据逻辑层的返回结果,选择转到不同的结果页面
					if(success){
						PanelUtil.changePanel(jFrame, new ListPanel(jFrame));
					}else{
						JOptionPane.showMessageDialog(null, "该用户已经不存在");
					}
			
				
				
				}
			});
		}
		return btnUpdate;
	}

	/**
	 * This method initializes btnBack	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getBtnBack() {
		if (btnBack == null) {
			btnBack = new JButton();
			btnBack.setBounds(new Rectangle(408, 283, 156, 67));
			btnBack.setText("返回");
			btnBack.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					PanelUtil.changePanel(jFrame, new ListPanel(jFrame));
					
				}
			});
		}
		return btnBack;
	}

	/**
	 * This method initializes txtUuid	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getTxtUuid() {
		if (txtUuid == null) {
			txtUuid = new JTextField();
			txtUuid.setBounds(new Rectangle(210, 94, 110, 30));
		        //初始化数据
			   String uuid=initUser.getUuid();
			   txtUuid.setText(uuid);
			   txtUuid.setEditable(false);
   			
		
		}
		return txtUuid;
	}

	/**
	 * This method initializes txtName	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getTxtName() {
		if (txtName == null) {
			txtName = new JTextField();
			txtName.setBounds(new Rectangle(548, 88, 113, 28));
		    String name=initUser.getName();
		    txtName.setText(name);
		
		
		}
		return txtName;
	}

	/**
	 * This method initializes txtPwd	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getTxtPwd() {
		if (txtPwd == null) {
			txtPwd = new JTextField();
			txtPwd.setBounds(new Rectangle(208, 150, 118, 31));
		    String pwd=initUser.getPwd();
		    txtPwd.setText(pwd);
		
		}
		return txtPwd;
	}

	/**
	 * This method initializes txtPwd2	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getTxtPwd2() {
		if (txtPwd2 == null) {
			txtPwd2 = new JTextField();
			txtPwd2.setBounds(new Rectangle(553, 143, 112, 29));
			String pwd2=initUser.getPwd();
		    txtPwd2.setText(pwd2);
		}
		return txtPwd2;
	}

	/**
	 * This method initializes comUser	
	 * 	
	 * @return javax.swing.JComboBox	
	 */
	private JComboBox getComUser() {
		if (comUser == null) {
			comUser = new JComboBox();
			comUser.setBounds(new Rectangle(212, 209, 121, 48));
		      
		     for(UserTypeEnum type : UserTypeEnum.values()){
		    	comUser.addItem(type.getName());
		    	if(type.getType()==initUser.getType()){
		    		comUser.setSelectedItem(type.getName());
		    		
		    	}
		     }
		
		}
		return comUser;
	}

}


用户模板  UserModel

/**
 * 
 */
package cn.hncu.bookStore.user.vo;

import java.io.Serializable;

import cn.hncu.bookStore.user.constance.UserTypeEnum;

/**
 * @author <a href="mailto:729627398@qq.com">廖ZP</a>
 * <br>Aug 21, 2015
 */
public class UserModel implements Serializable{
	private static final long serialVersionUID = 1L;
	private String uuid;
	private String name;
	private int type;
	private String pwd;
	
	
	public UserModel(String uuid, String name, int type, String pwd) {
		super();
		this.uuid = uuid;
		this.name = name;
		this.type = type;
		this.pwd = pwd;
	}

	public UserModel(){
	}

	public String getUuid() {
		return uuid;
	}

	public void setUuid(String uuid) {
		this.uuid = uuid;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getType() {
		return type;
	}

	public void setType(int type) {
		this.type = type;
	}

	public String getPwd() {
		return pwd;
	}

	public void setPwd(String pwd) {
		this.pwd = pwd;
	}

	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((uuid == null) ? 0 : uuid.hashCode());
		return result;
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		final UserModel other = (UserModel) obj;
		if (uuid == null) {
			if (other.uuid != null)
				return false;
		} else if (!uuid.equals(other.uuid))
			return false;
		return true;
	}

	@Override
	public String toString() {
		String strType = UserTypeEnum.getNameByType(type);
		return "{"+uuid+","+name+","+strType+"}";
	}
	
}








用户查询模板 UserQueryModel

/**
 * 
 */
package cn.hncu.bookStore.user.vo;

/**
 * @author <a href="mailto:729627398@qq.com">廖ZP</a>
 * <br>Aug 21, 2015
 */
public class UserQueryModel extends UserModel {
	private static final long serialVersionUID = 1L;
}

工具类 util

   工具类 FileIOUtil

</pre><pre class="java" name="code">package cn.hncu.bookStore.util;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.ArrayList;
import java.util.List;


/*
 代码抽取步骤:
 1)先不考虑怎么写,把类似的代码拷到一起分析
 2)观察其中的变化部分和不变化的部分
 3)把这段代码中 用到的 前面定义的变量 抽取成方法的参数
 4)把 留给后面使用的 将在这段代码中新建的变量 定义成方法的返回值
 */
public class FileIOUtil {
	private FileIOUtil(){//工具类,把默认构造方法关闭(私有)
	}
	
	public static List<?> readFromFile(String fileName){
		File file = new File(fileName);
		if(!file.exists()){
			try {
				file.createNewFile();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
		ObjectInputStream input = null;
		try {
			FileInputStream fin = new FileInputStream(file);
			input = new ObjectInputStream(fin);
			List<?> list =(List<?>)input.readObject();
			if(list==null){
				list = new ArrayList<Object>();
			}
			return list;
		}catch (Exception e) {
			System.out.println("文件读取结束...");
		}finally{
			if(input!=null){
				try {
					input.close();
				} catch (IOException e) {
					throw new RuntimeException("文件关闭失败");
				}
			}
		}
		return new ArrayList<Object>();
	}
	
	public static boolean write2File(String fileName, List<?> list){
		File file = new File(fileName);
		ObjectOutputStream output = null;
		try {
			output = new ObjectOutputStream(new FileOutputStream(file));
			output.writeObject(list);
		}catch (Exception e) {
			return false;
		}finally{
			if(output!=null){
				try {
					output.close();
				} catch (IOException e) {
					throw new RuntimeException("文件关闭失败");
				}
			}
		}
		return true;
	}
}


工具类 PanelUtil

</pre><pre class="java" name="code">package cn.hncu.bookStore.util;

import javax.swing.JFrame;
import javax.swing.JPanel;

public class PanelUtil {
	private PanelUtil(){
	}
	public static void changePanel(JFrame jFrame, JPanel jPanel){
		jFrame.getContentPane().removeAll();
		jFrame.getContentPane().add(jPanel);
		jFrame.getContentPane().validate();
		jFrame.getContentPane().repaint();
	}
}


枚举类 UserTypeEnum

package cn.hncu.bookStore.user.constance;

public enum UserTypeEnum {
	ADMIN(1,"超级管理员"),BOOK(2,"图书管理员"),
	IN(3,"进货管理员"),OUT(4,"销售管理员"),STOCK(5,"库存管理员");
	private final int type;
	private final String name;
	private UserTypeEnum(int type, String name){
		this.type = type;
		this.name = name;
	}
	public int getType(){
		return type;
	}
	public String getName() {
		return name;
	}
	//查询
	public static String getNameByType(int type){
		for(UserTypeEnum userType:UserTypeEnum.values()){
			if(userType.getType()==type){
				return userType.getName();
			}
		}
		throw new IllegalArgumentException("No such type:"+type+" in UserTypeEnum");
	}
	public static int getTypeByName(String name){
		for(UserTypeEnum userType: UserTypeEnum.values()){
			if(userType.getName().equalsIgnoreCase(name)){
				return userType.getType();
			}
		}
		throw new IllegalArgumentException("No such name:"+name+" in UserTypeEnum");
	}
	public static void main(String[] args) {
		//System.out.println(UserTypeEnum.OUT.getType());
		String name = UserTypeEnum.getNameByType(3);
		System.out.println(name);
		int type = UserTypeEnum.getTypeByName("图书管理员");
		System.out.println(type);
	}
}


图书管理  bookStore

package cn.hncu.bookStore;
import java.awt.event.KeyEvent;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.Event;
import java.awt.BorderLayout;
import javax.swing.SwingConstants;
import javax.swing.SwingUtilities;
import javax.swing.KeyStroke;
import java.awt.Point;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JMenuItem;
import javax.swing.JMenuBar;
import javax.swing.JMenu;
import javax.swing.JFrame;
import javax.swing.JDialog;

import cn.hncu.bookStore.user.ui.ListPanel;
import cn.hncu.bookStore.user.ui.UpDatePanel;
import cn.hncu.bookStore.util.PanelUtil;

import java.awt.Dimension;
import javax.swing.JButton;
import java.awt.Rectangle;
public class bookStore {
	private JFrame jFrame = null;
	private JPanel jContentPane = null;
	private JMenuBar jJMenuBar = null;
	private JMenu fileMenu = null;
	private JMenu editMenu = null;
	private JMenu helpMenu = null;
	private JMenuItem exitMenuItem = null;
	private JMenuItem aboutMenuItem = null;
	private JMenuItem cutMenuItem = null;
	private JMenuItem copyMenuItem = null;
	private JMenuItem pasteMenuItem = null;
	private JMenuItem saveMenuItem = null;
	private JDialog aboutDialog = null;
	private JPanel aboutContentPane = null;
	private JLabel aboutVersionLabel = null;
	private ListPanel listPanel = null;
	private JButton jButton = null;

	/**
	 * This method initializes listPanel	
	 * 	
	 * @return cn.hncu.bookStore.user.ui.ListPanel	
	 */
	private ListPanel getListPanel() {
		if (listPanel == null) {
			listPanel = new ListPanel(getJFrame());
		}
		return listPanel;
	}

	/**
	 * This method initializes jButton	
	 * 	
	 * @return javax.swing.JButton	
	 */
	
		
		

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		SwingUtilities.invokeLater(new Runnable() {
			public void run() {
				bookStore application = new bookStore();
				application.getJFrame().setVisible(true);
			}
		});
	}

	/**
	 * This method initializes jFrame
	 * 
	 * @return javax.swing.JFrame
	 */
	private JFrame getJFrame() {
		if (jFrame == null) {
			jFrame = new JFrame();
			jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
			jFrame.setJMenuBar(getJJMenuBar());
			jFrame.setSize(800, 600);
			jFrame.setContentPane(getJContentPane());
			jFrame.setTitle("Application");
		}
		return jFrame;
	}

	/**
	 * This method initializes jContentPane
	 * 
	 * @return javax.swing.JPanel
	 */
	private JPanel getJContentPane() {
		if (jContentPane == null) {
			jContentPane = new JPanel();
			jContentPane.setLayout(null);
			//※把ListPanel加入到内容空格当中
			jContentPane.add(new ListPanel(jFrame));
		}
		return jContentPane;
	}

	/**
	 * This method initializes jJMenuBar	
	 * 	
	 * @return javax.swing.JMenuBar	
	 */
	private JMenuBar getJJMenuBar() {
		if (jJMenuBar == null) {
			jJMenuBar = new JMenuBar();
			jJMenuBar.add(getFileMenu());
			jJMenuBar.add(getEditMenu());
			jJMenuBar.add(getHelpMenu());
		}
		return jJMenuBar;
	}

	/**
	 * This method initializes jMenu	
	 * 	
	 * @return javax.swing.JMenu	
	 */
	private JMenu getFileMenu() {
		if (fileMenu == null) {
			fileMenu = new JMenu();
			fileMenu.setText("File");
			fileMenu.add(getSaveMenuItem());
			fileMenu.add(getExitMenuItem());
		}
		return fileMenu;
	}

	/**
	 * This method initializes jMenu	
	 * 	
	 * @return javax.swing.JMenu	
	 */
	private JMenu getEditMenu() {
		if (editMenu == null) {
			editMenu = new JMenu();
			editMenu.setText("Edit");
			editMenu.add(getCutMenuItem());
			editMenu.add(getCopyMenuItem());
			editMenu.add(getPasteMenuItem());
		}
		return editMenu;
	}

	/**
	 * This method initializes jMenu	
	 * 	
	 * @return javax.swing.JMenu	
	 */
	private JMenu getHelpMenu() {
		if (helpMenu == null) {
			helpMenu = new JMenu();
			helpMenu.setText("Help");
			helpMenu.add(getAboutMenuItem());
		}
		return helpMenu;
	}

	/**
	 * This method initializes jMenuItem	
	 * 	
	 * @return javax.swing.JMenuItem	
	 */
	private JMenuItem getExitMenuItem() {
		if (exitMenuItem == null) {
			exitMenuItem = new JMenuItem();
			exitMenuItem.setText("Exit");
			exitMenuItem.addActionListener(new ActionListener() {
				public void actionPerformed(ActionEvent e) {
					System.exit(0);
				}
			});
		}
		return exitMenuItem;
	}

	/**
	 * This method initializes jMenuItem	
	 * 	
	 * @return javax.swing.JMenuItem	
	 */
	private JMenuItem getAboutMenuItem() {
		if (aboutMenuItem == null) {
			aboutMenuItem = new JMenuItem();
			aboutMenuItem.setText("About");
			aboutMenuItem.addActionListener(new ActionListener() {
				public void actionPerformed(ActionEvent e) {
					JDialog aboutDialog = getAboutDialog();
					aboutDialog.pack();
					Point loc = getJFrame().getLocation();
					loc.translate(20, 20);
					aboutDialog.setLocation(loc);
					aboutDialog.setVisible(true);
				}
			});
		}
		return aboutMenuItem;
	}

	/**
	 * This method initializes aboutDialog	
	 * 	
	 * @return javax.swing.JDialog
	 */
	private JDialog getAboutDialog() {
		if (aboutDialog == null) {
			aboutDialog = new JDialog(getJFrame(), true);
			aboutDialog.setTitle("About");
			aboutDialog.setContentPane(getAboutContentPane());
		}
		return aboutDialog;
	}

	/**
	 * This method initializes aboutContentPane
	 * 
	 * @return javax.swing.JPanel
	 */
	private JPanel getAboutContentPane() {
		if (aboutContentPane == null) {
			aboutContentPane = new JPanel();
			aboutContentPane.setLayout(new BorderLayout());
			aboutContentPane.add(getAboutVersionLabel(), BorderLayout.CENTER);
		}
		return aboutContentPane;
	}

	/**
	 * This method initializes aboutVersionLabel	
	 * 	
	 * @return javax.swing.JLabel	
	 */
	private JLabel getAboutVersionLabel() {
		if (aboutVersionLabel == null) {
			aboutVersionLabel = new JLabel();
			aboutVersionLabel.setText("Version 1.0");
			aboutVersionLabel.setHorizontalAlignment(SwingConstants.CENTER);
		}
		return aboutVersionLabel;
	}

	/**
	 * This method initializes jMenuItem	
	 * 	
	 * @return javax.swing.JMenuItem	
	 */
	private JMenuItem getCutMenuItem() {
		if (cutMenuItem == null) {
			cutMenuItem = new JMenuItem();
			cutMenuItem.setText("Cut");
			cutMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,
					Event.CTRL_MASK, true));
		}
		return cutMenuItem;
	}

	/**
	 * This method initializes jMenuItem	
	 * 	
	 * @return javax.swing.JMenuItem	
	 */
	private JMenuItem getCopyMenuItem() {
		if (copyMenuItem == null) {
			copyMenuItem = new JMenuItem();
			copyMenuItem.setText("Copy");
			copyMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,
					Event.CTRL_MASK, true));
		}
		return copyMenuItem;
	}

	/**
	 * This method initializes jMenuItem	
	 * 	
	 * @return javax.swing.JMenuItem	
	 */
	private JMenuItem getPasteMenuItem() {
		if (pasteMenuItem == null) {
			pasteMenuItem = new JMenuItem();
			pasteMenuItem.setText("Paste");
			pasteMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V,
					Event.CTRL_MASK, true));
		}
		return pasteMenuItem;
	}

	/**
	 * This method initializes jMenuItem	
	 * 	
	 * @return javax.swing.JMenuItem	
	 */
	private JMenuItem getSaveMenuItem() {
		if (saveMenuItem == null) {
			saveMenuItem = new JMenuItem();
			saveMenuItem.setText("Save");
			saveMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,
					Event.CTRL_MASK, true));
		}
		return saveMenuItem;
	}

}


  


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值