⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 userevent.java

📁 聊天工具
💻 JAVA
字号:
package server.userpane;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Vector;

import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JOptionPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;

import server.dao.UserDAO;
import server.factory.DaoFactory;
import server.login.ServerFrme;
/**
 * 用户面板中的监听事件
 * @author 洪景泉
 *
 */
public class UserEvent implements ActionListener {
	private DialogPane dialog = null;
	private ServerFrme qqServerFrm=null;
	private BottomPane btnPane=null;
	private TopPane topPane=null;
	private int flag;         //用来标志是哪个按钮触发的事件
	/**
	 * 底部按钮的构造函数
	 * @param btnPane 按钮面板对象
	 * @param qqServerFrm 主面板对象
	 * @param flag 标志
	 */
	public UserEvent(BottomPane btnPane,ServerFrme qqServerFrm,int flag) {
		this.btnPane = btnPane;
		this.qqServerFrm=qqServerFrm;
		this.flag=flag;
	}
	//顶部按钮的构造函数
	public UserEvent(TopPane topPane,ServerFrme qqServerFrm,int flag) {
		this.topPane =topPane;
		this.qqServerFrm=qqServerFrm;
		this.flag=flag;
	}
	
	public void actionPerformed(ActionEvent e) {
		
		JButton btnTemp = (JButton) e.getSource();
		//JButton  topTemp=(JButton) e.getSource();
				
		//通过构造函数传递btnPane来获取当前按了什么键.用按钮的动作命令更简洁
		//flag=1表示底部面板中的按钮触发的事件
		if(flag==1){
			if (btnTemp == btnPane.getAddBtn()) {
				//OracleDAO userDao = new OracleDAO();
				UserDAO userDao=DaoFactory.getUserDao();
				String id = userDao.getMaxID();
				dialog = new DialogPane(id,qqServerFrm,"添加新用户",1);
				dialog.setSize(410, 390);
				dialog.setModal(true);
				dialog.setLocationRelativeTo(null);
				//dialog.setLocationRelativeTo(qqServerFrm);
				dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
				dialog.setVisible(true);
			}
			if(btnTemp==btnPane.getModitBtn()){
				JTable tblTemp = qqServerFrm.getUserPane().getCenterPane().getJTable();
				int row = tblTemp.getSelectedRow();
				String id = (String) tblTemp.getValueAt(row, 0);
				dialog = new DialogPane(id,qqServerFrm, "修改用户信息",2);
				dialog.setSize(410, 390);
				dialog.setModal(true);
				dialog.setLocationRelativeTo(qqServerFrm);
				dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
				dialog.setVisible(true);
			}
			if (btnTemp == btnPane.getDeleteBtn()) {
				JTable tblTemp = qqServerFrm.getUserPane().getCenterPane().getJTable();
				int[] row = tblTemp.getSelectedRows();
				
				//System.out.println(row.length);
				
				int len=row.length;
				if(len>=1 &&(JOptionPane.showConfirmDialog(qqServerFrm, "确实要删除所选择的记录?", "删除用户信息", JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION)){
					List<String> list = new ArrayList<String>();	
					for(int i=0;i<len;i++){
						String id = (String) tblTemp.getValueAt(row[i], 0);
						list.add(id);
						//System.out.println(id);
						
					}
					//OracleDAO userDao = new OracleDAO();
					UserDAO userDao=DaoFactory.getUserDao();
					userDao.delete(list);
					
					qqServerFrm.getUserPane().getCenterPane().reLoadTable();
				}	
			}
			if(btnTemp==btnPane.getResetPWDBtn()){
				if(JOptionPane.showConfirmDialog(qqServerFrm, "你确实要把所有用户的密码重置为123456吗?", "重置所有用户密码", JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION){
					
					//OracleDAO userDao = new OracleDAO();
					UserDAO userDao=DaoFactory.getUserDao();
					userDao.resetPWD();
					
					qqServerFrm.getUserPane().getCenterPane().reLoadTable();
				}	
			}
			//详细信息按钮事件
			if(btnTemp==btnPane.getPtcBtn()){
				JTable tblTemp = qqServerFrm.getUserPane().getCenterPane().getJTable();
				int row = tblTemp.getSelectedRow();
				String id = (String) tblTemp.getValueAt(row, 0);
				dialog = new DialogPane(id,qqServerFrm, "查看用户信息",3);
				dialog.setSize(410, 390);
				dialog.setModal(true);
				dialog.setLocationRelativeTo(qqServerFrm);
				dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
				dialog.setVisible(true);
			}
		}else if(flag==2){//flag=2表示顶部面板中的查找按钮触发的事件
			
			if(btnTemp==topPane.getSearchJBtn()){
				
				String colList="ID,Name,NickName,Sex,Department,RegTime";
				Map<String, String> sqlMap=new HashMap<String, String>();
				
				String userID=null,userName=null,userDepm=null;
				if(!(userID=topPane.getNumJField().getText().trim()).equals("")){
//					sql+=" and ID='"+userID+"'";
					sqlMap.put("ID",userID);
				}
				if(!(userName=topPane.getNameJField().getText().trim()).equals("")){
//					sql+=" and Name='"+userName+"'";
					sqlMap.put("Name",userName);
				}
				if(!(userDepm=((String)(topPane.getDepartmentCom().getSelectedItem())).trim()).equals("")){
//					sql+=" and Department='"+userDepm+"'";
					sqlMap.put("Department",userDepm);
				}
				qqServerFrm.getUserPane().getCenterPane().getJTable().setModel(dataModel(colList,sqlMap));
			}
		}
		 
	}
	/**
	 * 设置表格模型
	 * @param colList 查询结果集字段
	 * @param sqlMap  查询条件
	 * @return 表格模型
	 */
	private TableModel dataModel(String colList,Map<String,String>  sqlMap){
		
		//OracleDAO userDao = new OracleDAO();
		UserDAO userDao=DaoFactory.getUserDao();
		Vector<Vector<String>> datas = userDao.select(colList,sqlMap);
		
		Vector<String> colunms = new Vector<String>();
		colunms.add("用户编号");
		colunms.add("用户姓名");
		colunms.add("用户昵称");
		colunms.add("性别");
		colunms.add("部门名称");
		colunms.add("注册时间");
				
		TableModel tabModel = new DefaultTableModel(datas, colunms) {

			
			public boolean isCellEditable(int arg0, int arg1) {
				// TODO Auto-generated method stub
				return false;
			}

		};
		return tabModel;
		
	}
	
	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -