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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? chatclient.java

?? 一個以tomcat作為服務器的C/S架構的聊天系統
?? JAVA
字號:
package com.cxz.httpchat.client;import java.io.IOException;import java.util.Date;import java.util.List;import com.cloudgarden.resource.SWTResourceManager;import com.cxz.httpchat.message.HeartBeatRequest;import com.cxz.httpchat.message.HeartBeatResponse;import com.cxz.httpchat.message.Message;import com.cxz.httpchat.message.UploadRequest;import com.cxz.httpchat.message.UploadResponse;import com.cxz.httpchat.util.MessagePoster;import org.apache.commons.httpclient.HttpException;import org.eclipse.swt.events.ShellEvent;import org.eclipse.swt.layout.FormAttachment;import org.eclipse.swt.layout.FormData;import org.eclipse.swt.layout.FormLayout;import org.eclipse.swt.widgets.Button;import org.eclipse.swt.widgets.Display;import org.eclipse.swt.widgets.MessageBox;import org.eclipse.swt.widgets.Shell;import org.eclipse.swt.widgets.Text;import org.eclipse.swt.SWT;import org.eclipse.swt.custom.CTabFolder;import org.eclipse.swt.custom.CTabItem;import org.eclipse.swt.events.KeyAdapter;import org.eclipse.swt.events.KeyEvent;import org.eclipse.swt.events.MouseAdapter;import org.eclipse.swt.events.MouseEvent;import org.eclipse.swt.events.ShellAdapter;/** * This code was edited or generated using CloudGarden's Jigloo SWT/Swing GUI * Builder, which is free for non-commercial use. If Jigloo is being used * commercially (ie, by a corporation, company or business for any purpose * whatever) then you should purchase a license for each developer using Jigloo. * Please visit www.cloudgarden.com for details. Use of Jigloo implies * acceptance of these licensing terms. A COMMERCIAL LICENSE HAS NOT BEEN * PURCHASED FOR THIS MACHINE, SO JIGLOO OR THIS CODE CANNOT BE USED LEGALLY FOR * ANY CORPORATE OR COMMERCIAL PURPOSE. */public class ChatClient extends org.eclipse.swt.widgets.Dialog implements		Runnable {	private static final int INTERVAL_SECONDS = 1;		private Shell dialogShell;	private boolean flag = true;	private Button sendMessage;	private CTabItem setupTab;	private CTabItem messageTab;	private Text messages;	private CTabFolder myTabFolder;	private Text input;		private int usrId = 1;	private String pwd = "19841230";	private int distId = 2;		MessagePoster<UploadRequest, UploadResponse> postUploading = null;	MessagePoster<HeartBeatRequest, HeartBeatResponse> postHeartBeat = null;		Thread heartBeatThread = null;		List<Message> list = null;	/**	 * Auto-generated main method to display this org.eclipse.swt.widgets.Dialog	 * inside a new Shell.	 */	public static void main(String[] args) {		try {			Display display = Display.getDefault();			Shell shell = new Shell(display);			ChatClient inst = new ChatClient(shell, SWT.NULL);			inst.open();		} catch (Exception e) {			e.printStackTrace();		}	}	public ChatClient(Shell parent, int style) {		super(parent, style);		postUploading = new MessagePoster<UploadRequest, UploadResponse>();		postHeartBeat = new MessagePoster<HeartBeatRequest, HeartBeatResponse>();	}	public void open() {		try {			this.start();			Shell parent = getParent();			dialogShell = new Shell(parent, SWT.DIALOG_TRIM					| SWT.APPLICATION_MODAL);			{				// Register as a resource user - SWTResourceManager will				// handle the obtaining and disposing of resources				SWTResourceManager.registerResourceUser(dialogShell);			}			dialogShell.setLayout(new FormLayout());			dialogShell.layout();			dialogShell.pack();			dialogShell.setSize(709, 429);			{				myTabFolder = new CTabFolder(dialogShell, SWT.BORDER);				FormData MyTabFolderLData = new FormData();				MyTabFolderLData.width = 697;				MyTabFolderLData.height = 309;				MyTabFolderLData.left =  new FormAttachment(0, 1000, 0);				MyTabFolderLData.top =  new FormAttachment(0, 1000, 12);				myTabFolder.setLayoutData(MyTabFolderLData);				{					messageTab = new CTabItem(myTabFolder, SWT.NONE);					messageTab.setText("Message");					{						messages = new Text(myTabFolder, SWT.MULTI | SWT.WRAP | SWT.BORDER);						messageTab.setControl(messages);						messages.setEditable(false);						messages.setFont(SWTResourceManager.getFont("Tahoma", 14, 0, false, false));					}				}				{					setupTab = new CTabItem(myTabFolder, SWT.NONE);					setupTab.setText("Setup Page");				}				myTabFolder.setSelection(0);			}			{				input = new Text(dialogShell, SWT.BORDER);				FormData sentenseLData = new FormData();				sentenseLData.width = 519;				sentenseLData.height = 19;				sentenseLData.left =  new FormAttachment(0, 1000, 39);				sentenseLData.top =  new FormAttachment(0, 1000, 355);				input.setLayoutData(sentenseLData);				input.setFont(SWTResourceManager.getFont("Tahoma", 14, 0,						false, false));				input.addKeyListener(new KeyAdapter() {					public void keyPressed(KeyEvent evt) {						inputKeyPressed(evt);					}				});			}			{				sendMessage = new Button(dialogShell, SWT.PUSH | SWT.CENTER);				sendMessage.setText("Send");				FormData sendMessageLData = new FormData();				sendMessageLData.width = 80;				sendMessageLData.height = 30;				sendMessageLData.left =  new FormAttachment(0, 1000, 605);				sendMessageLData.top =  new FormAttachment(0, 1000, 353);				sendMessage.setLayoutData(sendMessageLData);				sendMessage.addMouseListener(new MouseAdapter() {					public void mouseUp(MouseEvent evt) {						sendMessage(input.getText());					}				});			}			dialogShell.addShellListener(new ShellAdapter() {				public void shellClosed(ShellEvent evt) {					flag = false;// stop the heart beat thread					if(heartBeatThread != null)						heartBeatThread.interrupt();				}			});			dialogShell.setLocation(getParent().toDisplay(100, 100));			dialogShell.open();			Display display = dialogShell.getDisplay();						while (!dialogShell.isDisposed()) {				if (!display.readAndDispatch())					display.sleep();								//Jam code!				if(list != null){					synchronized(list){						for(int i = 0; i < list.size(); i++){							messages.append("User-" + list.get(i).getFrom() + " said to you: " + list.get(i).getContent() + "\n");						}						list = null;					}				}			}		} catch (Exception e) {			e.printStackTrace();		}	}	public void run() {		while(flag){			HeartBeatRequest request = makeHeartBeat();			HeartBeatResponse response = null;			try {				response = postHeartBeat.postXML(request);				if(response.getMessages().size() != 0){					displayMessage(response.getMessages());				}				Thread.sleep(INTERVAL_SECONDS * 1000);			} catch (HttpException e) {				// TODO Auto-generated catch block				e.printStackTrace();			} catch (IOException e) {				// TODO Auto-generated catch block				e.printStackTrace();			}catch (InterruptedException e) {				// TODO Auto-generated catch block				e.printStackTrace();			}		}	}		private void displayMessage(List<Message> mess) {		if(mess != null){			if(list != null){				synchronized(list){					list = mess;				}			} else {				list = mess;			}		}	}	private HeartBeatRequest makeHeartBeat(){		HeartBeatRequest heartBeat = new HeartBeatRequest();		heartBeat.setId(usrId);		heartBeat.setPwd(pwd);		return heartBeat;	}		private void start(){		heartBeatThread = new Thread(this, "Heart Beat Thread");		heartBeatThread.start();	}	private void inputKeyPressed(KeyEvent evt) {		if (evt.keyCode == SWT.CR//check the enter pressing				|| evt.keyCode == SWT.KEYPAD_CR) {			sendMessage(input.getText());		}	}	private void sendMessage(String message) {		if (message != null && !message.equals("")) {			//To check whether the input is null			printToScreen(message);			sendToServer(message);		} else {			Display display = Display.getDefault();			Shell shell = new Shell(display);			MessageBox messageBox = new MessageBox(shell, SWT.OK);			messageBox.setMessage("Can't send empty message.");			messageBox.open();		}	}	private void sendToServer(String message) {		UploadRequest upload = new UploadRequest();			upload.setId(usrId);		upload.setTo(distId);		upload.setDate(new Date(System.currentTimeMillis()));		upload.setPwd(pwd);		upload.setContent(message);				UploadResponse response = null;		try {			response = postUploading.postXML(upload);			System.out.println("UploadResponse: " + response.isFlag());		} catch (HttpException e) {			// TODO Auto-generated catch block			e.printStackTrace();		} catch (IOException e) {			// TODO Auto-generated catch block			e.printStackTrace();		}	}	private void printToScreen(String message) {		messages.append("You said to User-" + distId + ": " + input.getText() + "\n");		input.setText("");	}}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕亚洲欧美在线不卡| 91精品中文字幕一区二区三区| 久久女同精品一区二区| 日本va欧美va欧美va精品| 欧美一级一级性生活免费录像| 日本在线播放一区二区三区| 精品伦理精品一区| 懂色av一区二区夜夜嗨| 中文字幕亚洲电影| 欧洲色大大久久| 日日夜夜精品视频免费| 精品国产三级a在线观看| 欧美一级专区免费大片| 久久99精品国产.久久久久| 国产欧美日韩在线观看| av在线不卡电影| 性久久久久久久久久久久| 精品国产一区二区三区久久影院| 国产麻豆精品一区二区| 成人免费一区二区三区在线观看| 欧美性色黄大片| 老司机午夜精品| 国产精品福利一区二区三区| 欧美日韩国产精品自在自线| 久久99久久99小草精品免视看| 国产精品久线在线观看| 欧美日韩视频在线第一区 | 国产麻豆成人传媒免费观看| 欧美经典一区二区| 欧美天堂亚洲电影院在线播放| 久久er精品视频| 一区二区三区视频在线观看| 欧美xingq一区二区| 99vv1com这只有精品| 三级欧美韩日大片在线看| 国产亚洲欧洲997久久综合| 欧洲视频一区二区| 国产v日产∨综合v精品视频| 亚洲国产精品一区二区久久 | 欧美少妇bbb| 国产大陆精品国产| 偷窥少妇高潮呻吟av久久免费| 欧美激情在线一区二区| 6080午夜不卡| 色视频一区二区| 国产二区国产一区在线观看| 日韩av电影天堂| 亚洲美女区一区| 国产午夜亚洲精品理论片色戒| 欧美疯狂性受xxxxx喷水图片| 大陆成人av片| 国产一区在线看| 青娱乐精品视频在线| 一区二区三区免费| 国产精品美女www爽爽爽| 精品国产网站在线观看| 制服丝袜av成人在线看| 欧美亚洲日本国产| 99精品视频在线观看免费| 国产精品一区二区在线播放| 美女任你摸久久 | 日本大胆欧美人术艺术动态| 亚洲欧美偷拍卡通变态| 国产精品无圣光一区二区| 欧美www视频| 日韩欧美国产wwwww| 欧美精品在线一区二区三区| 色8久久精品久久久久久蜜| 波多野结衣亚洲一区| 成人精品视频网站| 国产成人精品免费| 粉嫩高潮美女一区二区三区| 国产老肥熟一区二区三区| 九九九精品视频| 韩国女主播一区| 激情文学综合丁香| 国产一区高清在线| 国产大陆a不卡| 国产成人无遮挡在线视频| 国产传媒日韩欧美成人| 国产经典欧美精品| 成人毛片视频在线观看| 成人免费va视频| 91美女在线视频| 91高清视频在线| 欧美日韩精品是欧美日韩精品| 欧美视频三区在线播放| 欧美日韩1区2区| 日韩午夜小视频| 精品国内二区三区| 久久九九99视频| 国产精品日日摸夜夜摸av| 亚洲欧美怡红院| 亚洲高清中文字幕| 日本中文一区二区三区| 国精产品一区一区三区mba视频 | 国产人久久人人人人爽| 国产精品嫩草影院com| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 国产精品美女视频| 亚洲国产精品尤物yw在线观看| 婷婷久久综合九色综合伊人色| 奇米精品一区二区三区四区| 国产美女久久久久| av一区二区三区在线| 欧美午夜精品久久久| 日韩欧美一卡二卡| 国产精品成人一区二区艾草| 一区二区三区欧美亚洲| 伦理电影国产精品| 成人看片黄a免费看在线| 欧美性做爰猛烈叫床潮| 欧美成人三级在线| 亚洲同性同志一二三专区| 亚洲午夜精品在线| 久草中文综合在线| 色爱区综合激月婷婷| 精品乱人伦一区二区三区| 亚洲欧美偷拍另类a∨色屁股| 日韩av一级片| av不卡免费电影| 欧美成人r级一区二区三区| 成人欧美一区二区三区黑人麻豆 | 欧美精品日韩精品| 久久先锋影音av| 一二三四区精品视频| 韩国精品一区二区| 欧美日韩国产另类不卡| 国产精品免费观看视频| 蜜臀av国产精品久久久久| 99re热视频精品| 精品国产一区二区三区忘忧草| 一区二区在线看| 国产福利精品一区| 欧美一区国产二区| 亚洲男帅同性gay1069| 国产一区二区看久久| 欧美军同video69gay| 亚洲欧美欧美一区二区三区| 国产精品911| 日韩欧美www| 亚洲一级二级在线| 91免费观看视频在线| 国产日韩欧美制服另类| 美女网站在线免费欧美精品| 欧美中文字幕久久| 亚洲欧洲精品一区二区三区 | 欧美私人免费视频| 亚洲人成精品久久久久久| 国产一区二区剧情av在线| 88在线观看91蜜桃国自产| 亚洲精品你懂的| av资源网一区| 国产精品国产三级国产有无不卡| 狠狠v欧美v日韩v亚洲ⅴ| 欧美一区中文字幕| 亚洲国产人成综合网站| 99re成人精品视频| 成人免费在线视频| 99热精品一区二区| 综合久久给合久久狠狠狠97色 | 国产亚洲成av人在线观看导航| 蜜臀av亚洲一区中文字幕| 欧美日韩国产高清一区二区 | 777亚洲妇女| 日韩国产在线一| 6080亚洲精品一区二区| 亚洲国产视频直播| 欧美久久久久久蜜桃| 三级亚洲高清视频| 日韩亚洲欧美一区二区三区| 日韩av电影一区| 日韩欧美国产精品| 国产综合色在线| 国产亚洲自拍一区| 波多野结衣一区二区三区 | 色婷婷久久久久swag精品| 亚洲欧美区自拍先锋| 在线亚洲一区观看| 亚洲动漫第一页| 欧美一区二区三区四区五区| 免费在线观看不卡| 久久久99精品免费观看| 福利视频网站一区二区三区| 亚洲欧洲av另类| 欧美性大战久久久| 裸体在线国模精品偷拍| 久久精品男人天堂av| 色哟哟在线观看一区二区三区| 亚洲国产日韩一级| 日韩精品中文字幕一区| 国产高清精品网站| 国产精品不卡在线| 欧美影院午夜播放| 久久精品999| 国产精品久久久久一区二区三区| 91福利在线免费观看| 另类人妖一区二区av| 国产精品精品国产色婷婷| 欧美色图天堂网|