亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? userpane.java

?? 一個簡單的程序穩(wěn)操勝券用拖把有穩(wěn)操勝券
?? JAVA
字號:
/**
  * @(#)server.frm.panes.UserPane.java  2008-8-29  
  * Copy Right Information	: Tarena
  * Project					: JavaQQ
  * JDK version used		: jdk1.6.4
  * Comments				: 用戶管理面板類。
  * Version					: 1.0
  * Sr	Date		Modified By		Why & What is modified
  * 1.	2008-8-29 	小豬     		新建
  **/
package server.frm.panes;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.Vector;

import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPopupMenu;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableColumn;
import javax.swing.table.TableRowSorter;

import server.frm.Server;
import tools.DateDeal;
import dao.UserDAOByFile;
import data.User;
import data.UserSex;
import data.UserState;

 /**
 * 用戶管理面板類。
 * 2008-8-29
 * @author		達內(nèi)科技[Tarena Training Group]
 * @version	1.0
 * @since		JDK1.6(建議) 
 */
public class UserPane extends JPanel implements ActionListener,Runnable{
	/** 查詢JQ用戶 */
	private JLabel lblQuery = new JLabel("查詢JQ用戶");
	/** 輸入的查詢的關(guān)鍵字 */
	private JTextField txtQuery = new JTextField("");
	/** 查詢的類型 */
	private JComboBox boxQuery = new JComboBox();
	/** 查詢 */
	private JButton btnQuery = new JButton("查詢");
	/** 添加新用戶 */
	private JButton btnAddNew = new JButton("添加新用戶");
	/** 刷新重新獲得所有用戶 */
	private JButton btnFlash = new JButton("刷新");
	
	/** 顯示用戶的表格 */
	private JTable table = null;
	/** 表格的模型 */
	private DefaultTableModel model = null;
	
	/** 狀態(tài)欄 */
	private JLabel lblInfo = new JLabel("共有JQ用戶:0");
	
	private JPopupMenu popupMenu = new JPopupMenu();
	private JMenuItem itemChange = new JMenuItem("修改");
	private JMenuItem itemDelete = new JMenuItem("刪除");
	
	public UserPane() {
		init();
		btnAddNew.addActionListener(this);
		btnFlash.addActionListener(this);
		btnQuery.addActionListener(this);
	}
	/**
	 * 初始化面板。因為時間關(guān)系,可能寫的比較戳,望見諒。
	 */
	private void init(){
		itemChange.addActionListener(this);
		itemDelete.addActionListener(this);
		popupMenu.add(itemChange);
		popupMenu.addSeparator();
		popupMenu.add(itemDelete);
		
		txtQuery.setPreferredSize(new Dimension(100,25));
		boxQuery.addItem(new QueryWay("按JQ號查詢",0));
		boxQuery.addItem(new QueryWay("按昵稱查詢",1));
		
		model = new MyDefaultTableModel();
		model.addColumn("ID");
		model.addColumn("JQ號");
		model.addColumn("昵稱");
		model.addColumn("姓名");
		model.addColumn("性別");
		model.addColumn("年齡");
		model.addColumn("E-mail");
		model.addColumn("狀態(tài)");
		model.addColumn("注冊時間");
		
		table = new JTable(model);
		TableRowSorter sorter = new TableRowSorter(model); 
		table.setRowSorter(sorter);
		table.addMouseListener(new TableMouseAdapter());
		table.addMouseMotionListener(new TableMouseAdapter());
		TableColumn tcID = table.getColumn(model.getColumnName(0));
		tcID.setPreferredWidth(25);
		tcID.setMaxWidth(25);
		tcID.setMinWidth(25);
		TableColumn tcJQ = table.getColumn(model.getColumnName(1));
		tcJQ.setPreferredWidth(70);
		tcJQ.setMaxWidth(80);
		tcJQ.setMinWidth(60);
		TableColumn tcNick = table.getColumn(model.getColumnName(2));
		tcNick.setPreferredWidth(70);
		tcNick.setMaxWidth(80);
		tcNick.setMinWidth(60);
		TableColumn tcName = table.getColumn(model.getColumnName(3));
		tcName.setPreferredWidth(60);
		tcName.setMaxWidth(65);
		tcName.setMinWidth(55);
		TableColumn tcSex = table.getColumn(model.getColumnName(4));
		tcSex.setPreferredWidth(30);
		tcSex.setMaxWidth(30);
		tcSex.setMinWidth(30);
		TableColumn tcAge = table.getColumn(model.getColumnName(5));
		tcAge.setPreferredWidth(30);
		tcAge.setMaxWidth(30);
		tcAge.setMinWidth(30);
		TableColumn tcState = table.getColumn(model.getColumnName(7));
		tcState.setPreferredWidth(30);
		tcState.setMaxWidth(30);
		tcState.setMinWidth(30);
		
		JPanel paneNorth = new JPanel();
		paneNorth.setLayout(new FlowLayout(FlowLayout.CENTER,5,5));
		paneNorth.add(lblQuery);
		paneNorth.add(txtQuery);
		paneNorth.add(boxQuery);
		paneNorth.add(btnQuery);
		paneNorth.add(btnAddNew);
		paneNorth.add(btnFlash);
		
		JPanel paneSouth = new JPanel();
		paneSouth.add(lblInfo);
		
		setLayout(new BorderLayout());
		add(paneNorth,BorderLayout.NORTH);
		add(new JScrollPane(table),BorderLayout.CENTER);
		add(new FillWidth(5,5),BorderLayout.WEST);
		add(new FillWidth(5,5),BorderLayout.EAST);
		add(paneSouth,BorderLayout.SOUTH);
	}
	/**
	 * 添加新用戶、刷新、查詢、修改、刪除等按鈕事件。
	 */
	public void actionPerformed(ActionEvent e) {
		if(e.getSource()==btnAddNew){
			JOptionPane.showMessageDialog(null, "此功能尚未制作!謝謝使用!請用客戶端注冊新用戶.");
		}
		if(e.getSource()==btnFlash){
			flushUser();
		}
		if(e.getSource()==btnQuery){
			QueryUser(txtQuery.getText(),((QueryWay)boxQuery.getSelectedItem()).getWay());
		}
		if(e.getSource()==itemChange)
			JOptionPane.showMessageDialog(null, "功能制作中...");
		if(e.getSource()==itemDelete){
			int[] rows = table.getSelectedRows();
			UserDAOByFile userDAO = new UserDAOByFile();
			for(int i=0;i<rows.length;i++){
				int jqnum = (Integer)table.getValueAt(rows[i], 1);
				if(ServicePane.table==null || !ServicePane.table.containsKey(jqnum)){
					//System.out.println("come:"+jqnum);
					User user = userDAO.findById(jqnum);
					if(user!=null){
						int n = JOptionPane.showConfirmDialog(null, "確認刪除用戶["+user.getNickname()+"("+user.getJqnum()+")]","確認刪除?",JOptionPane.OK_CANCEL_OPTION);
						if(n==JOptionPane.OK_OPTION)
							userDAO.delete(user);
					}
				}
			}
			flushUser();
		}
	}
	
	/**
	 * 查詢的方式。
	 * 2008-8-29
	 * @author		達內(nèi)科技[Tarena Training Group]
	 * @version	1.0
	 * @since		JDK1.6(建議) 
	 */
	private class QueryWay{
		private String name;
		private int way;
		public QueryWay(String name,int way) {
			this.name = name;
			this.way = way;
		}
		public String toString() {
			return this.name;
		}
		public int getWay() {
			return way;
		}
	}
	
	@Override
	public void run() {
		btnFlash.setEnabled(false);
		//RowSorter sorter = table.getRowSorter();
		if(Server.isFileWay){
			table.setAutoCreateRowSorter(false);
			model.setRowCount(0);
			UserDAOByFile userDAO = new UserDAOByFile();
			Vector<User> users = userDAO.findAll();
			int totalNum = 0;
			int onlineNum = 0;
			int hiddenNum = 0;
			int departureNum = 0;
			int busyNum = 0;
			int offlineNum = 0;
			for(User user:users){
				if(user!=null){
					totalNum++;
					if(user.getState()==UserState.ONLINESTATE.getState())
						onlineNum++;
					if(user.getState()==UserState.DEPARTURESTATE.getState())
						departureNum++;
					if(user.getState()==UserState.BUSYSTATE.getState())
						busyNum++;
					if(user.getState()==UserState.HIDDENSTATE.getState())
						hiddenNum++;
					if(user.getState()==UserState.OFFLIENSTATE.getState())
						offlineNum++;
				}
				addUserToTable(user);
			}
			table.setAutoCreateRowSorter(true);
			lblInfo.setText("共有JQ用戶:"+totalNum+"位.其中," +
					"在線用戶:"+onlineNum+"位." +
					"隱身用戶:"+hiddenNum+"位." +
					"離開用戶:"+departureNum+"位." +
					"繁忙用戶:"+busyNum+"位." +
					"離線用戶:"+offlineNum+"位.");
		}else
			lblInfo.setText("注意:系統(tǒng)暫不支持數(shù)據(jù)庫方式!請使用文件方式保存數(shù)據(jù)!");
		btnFlash.setEnabled(true);
	}
	
	/**
	 * 刷新當前所有用戶。
	 */
	public void flushUser(){
		new Thread(this).start();
	}
	
	/**
	 * 按查詢方式、查詢類型查找用戶。
	 * @param query 查詢條件
	 * @param type 查詢方式,0:按JQ號碼查詢,1:按昵稱查詢
	 */
	private void QueryUser(String query,int type){
		if(query.equals(""))
			return;
		//按jq號查詢
		UserDAOByFile userDAO = new UserDAOByFile();
		model.setRowCount(0);
		if(type==0){
			try {
				int jqnum = Integer.parseInt(query);
					User user = userDAO.findById(jqnum);
					if(user!=null)
						addUserToTable(user);
			} catch (NumberFormatException e) {
				JOptionPane.showMessageDialog(null, "請確保輸入的正確的JQ號碼!");
				return;
			}
			return;
		}
		//按昵稱號查詢
		if(type==1){
				Vector<User> users= userDAO.findUserByName(query);
				for(User user:users){
					if(user!=null)
						addUserToTable(user);
				}
			return;
		}
		
	}
	
	/**
	 * 向table中添加用戶
	 * @param user User對象。
	 */
	private void addUserToTable(User user){
		if(user!=null){
			Vector<Object> v = new Vector<Object>();
			v.add(user.getId());
			v.add(user.getJqnum());
			v.add(user.getNickname());
			v.add(user.getRealname());
			v.add(UserSex.getSex(user.getSex()));
			v.add(user.getAge());
			v.add(user.getEmail());
			v.add(UserState.getStateName(user.getState()));
			v.add(DateDeal.getDate(user.getRegisterTime()));
			model.addRow(v);
		}
	}
	
	/**
	 * 定制的DefaultTableModel。
	 * 2008-9-27
	 * @author		達內(nèi)科技[Tarena Training Group]
	 * @version	1.0
	 * @since		JDK1.6(建議) 
	 */
	private class MyDefaultTableModel extends DefaultTableModel{
		
		public boolean isCellEditable(int row, int column) {
			super.isCellEditable(row, column);
			return false;
		}
	}
	
	/**
	 * 鼠標移動至出發(fā)事件。
	 * 2008-9-27
	 * @author		達內(nèi)科技[Tarena Training Group]
	 * @version	1.0
	 * @since		JDK1.6(建議) 
	 */
	private class TableMouseAdapter extends MouseAdapter{
		public void mouseEntered(MouseEvent e) {

		}
		public void mouseClicked(MouseEvent e) {
			if(e.getButton()==MouseEvent.BUTTON3){
				popupMenu.show(table,e.getX(),e.getY());
			}
		}
		
		public void mouseMoved(MouseEvent e) {
			if(e.getSource()==table){
				int row = table.rowAtPoint(e.getPoint());
				table.changeSelection(row, 0, false, true);
			}
		}
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧美怡红院| 亚洲国产精品久久人人爱| 一区二区在线观看视频在线观看| 亚洲影院久久精品| 日韩av网站在线观看| 成人性生交大片免费| 欧美高清激情brazzers| 国产精品乱码一区二三区小蝌蚪| 午夜激情久久久| 色成年激情久久综合| 久久久精品tv| 精品无码三级在线观看视频| 欧美视频一区二区在线观看| 最新国产成人在线观看| 国产一区二区三区黄视频| 欧美一区二区三区视频免费| 亚洲综合色噜噜狠狠| 9i看片成人免费高清| 欧美国产精品一区二区| 久久精品国产亚洲aⅴ| 91精品国产综合久久久久| 国产精品国产三级国产普通话99| 国内外成人在线| 日韩欧美国产综合在线一区二区三区| 亚洲高清免费视频| 色婷婷av一区二区三区之一色屋| 国产精品乱人伦中文| 成人av在线一区二区| 国产女同性恋一区二区| 国产精品99久久久久| 国产亚洲va综合人人澡精品| 国产剧情av麻豆香蕉精品| 精品乱人伦小说| 国产精一品亚洲二区在线视频| 精品久久一区二区三区| 精品夜夜嗨av一区二区三区| 欧美大片日本大片免费观看| 蜜臀久久99精品久久久久宅男| 日韩一区二区在线播放| 男女男精品网站| 日韩欧美123| 国产在线观看免费一区| 日韩视频一区二区三区在线播放| 青青草91视频| 久久久久久久电影| 国产自产高清不卡| 欧美一区二区三区日韩| 国产一区欧美一区| 成人免费在线视频观看| 色综合中文字幕国产| 亚洲第一主播视频| 欧美xfplay| 波多野洁衣一区| 亚洲高清不卡在线| 日韩一区二区麻豆国产| 久久国产精品99久久久久久老狼| 久久久久久久免费视频了| av成人免费在线| 一区二区三区四区激情| 日韩一区二区免费电影| 成人免费毛片a| 亚洲成人第一页| 久久影院电视剧免费观看| 成人av免费在线观看| 一区二区三区**美女毛片| 久久久久久99精品| 色综合久久中文字幕| 老司机精品视频导航| 欧美国产精品中文字幕| 欧美日韩一级片在线观看| 久久99国产精品尤物| 一区二区三区免费在线观看| 欧美一区二区三区四区视频| 国产高清在线观看免费不卡| 亚洲美腿欧美偷拍| 精品对白一区国产伦| 色香蕉成人二区免费| 久久精品国产99| 亚洲男人的天堂在线aⅴ视频| 欧美日本在线一区| 成人免费观看av| 日本v片在线高清不卡在线观看| 欧美极品美女视频| 欧美片网站yy| 成人综合在线网站| 蜜臀精品一区二区三区在线观看 | 国产一区二区电影| 亚洲少妇30p| 精品粉嫩超白一线天av| 99在线精品一区二区三区| 老司机午夜精品| 午夜电影一区二区| 中文字幕亚洲成人| 精品国产一区二区亚洲人成毛片| 在线亚洲一区二区| 成人高清免费观看| 国产一区二区三区在线看麻豆| 亚洲va欧美va国产va天堂影院| 亚洲日本丝袜连裤袜办公室| 久久久久青草大香线综合精品| 日韩欧美二区三区| 555夜色666亚洲国产免| 欧美三日本三级三级在线播放| 91美女精品福利| 91色九色蝌蚪| 成人av在线一区二区三区| 久久 天天综合| 日本中文字幕一区二区有限公司| 性做久久久久久| 亚洲大型综合色站| 亚洲一区二区三区国产| 一区二区三区四区乱视频| 国产精品对白交换视频| 亚洲国产岛国毛片在线| 国产精品丝袜在线| 国产日产欧美一区二区三区| 久久久久一区二区三区四区| 精品99999| 久久久久久亚洲综合| 国产亚洲欧美色| 爽好久久久欧美精品| 亚洲一区二区黄色| 亚洲高清免费在线| 午夜精品一区二区三区电影天堂| 亚洲v日本v欧美v久久精品| 性久久久久久久久久久久| 亚洲成人高清在线| 日本成人在线网站| 精彩视频一区二区三区| 国产在线播放一区三区四| 久久av老司机精品网站导航| 高清不卡在线观看| 日本韩国一区二区三区视频| 欧美妇女性影城| 欧美大片免费久久精品三p | 毛片av中文字幕一区二区| 日韩成人一级大片| 紧缚捆绑精品一区二区| 成人免费va视频| 91啦中文在线观看| 欧美福利电影网| 国产亚洲欧美色| 一区二区三区四区乱视频| 日韩精品免费视频人成| 国产在线精品视频| 色综合天天综合狠狠| 91.com视频| 国产精品婷婷午夜在线观看| 亚洲国产一区二区在线播放| 激情丁香综合五月| 色综合欧美在线| 日韩精品一区二区三区蜜臀| 中文字幕一区二区在线播放| 婷婷综合久久一区二区三区| 高清shemale亚洲人妖| 欧美三级电影在线观看| 国产女主播一区| 日韩电影在线看| av一区二区三区四区| 欧美电影免费观看高清完整版在 | 精品国产青草久久久久福利| 国产精品国产三级国产| 日韩电影在线观看电影| av在线播放不卡| 久久伊99综合婷婷久久伊| 夜夜精品视频一区二区 | 日日夜夜精品免费视频| 懂色av一区二区夜夜嗨| 3d动漫精品啪啪一区二区竹菊 | 国产亚洲va综合人人澡精品| 天天色综合成人网| 91在线国产观看| 久久天天做天天爱综合色| 亚洲va在线va天堂| 91视频一区二区三区| 国产欧美一区二区精品性色超碰| 美女久久久精品| 欧美综合亚洲图片综合区| 中文字幕免费不卡| 蜜桃视频在线观看一区| 欧美网站大全在线观看| 中文字幕永久在线不卡| 国产精品一区二区久激情瑜伽| 欧美日韩精品高清| 一区二区三区四区蜜桃| 成人a免费在线看| 久久精品人人做人人爽人人| 日韩成人精品在线| 欧美午夜电影网| 亚洲永久精品国产| 91福利社在线观看| 亚洲丝袜另类动漫二区| 成人污污视频在线观看| 久久精品欧美日韩精品| 国产伦精品一区二区三区免费迷 | 日韩一二三四区| 丝袜国产日韩另类美女| 欧美日韩国产另类不卡| 亚洲高清视频中文字幕| 在线免费观看视频一区|