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

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

?? groupitrtwin.java

?? CoolFace是基于jxta的P2P系統
?? JAVA
字號:
package com.cn.darkblue.window;

import java.util.HashMap;
import java.util.Set;

import net.jxta.document.AdvertisementFactory;
import net.jxta.document.MimeMediaType;
import net.jxta.endpoint.Message;
import net.jxta.impl.endpoint.relay.RelayServer;
import net.jxta.impl.protocol.RelayConfigAdv;
import net.jxta.peergroup.PeerGroup;
import net.jxta.pipe.OutputPipe;
import net.jxta.protocol.PeerAdvertisement;
import net.jxta.rendezvous.RendezVousService;

import org.CoolButton;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.StyledText;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Group;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.TabFolder;
import org.eclipse.swt.widgets.TabItem;

import com.cn.darkblue.entity.IFriendInfo;
import com.cn.darkblue.helper.GroupHelper;
import com.cn.darkblue.helper.IGroupChat;
import com.cn.darkblue.helper.IPGResource;
import com.cn.darkblue.listener.CFRDVListener;
import com.cn.darkblue.listener.GroupBaseCommListener;
import com.cn.darkblue.util.CFResource;
import com.cn.darkblue.util.CFUtil;
import com.cn.darkblue.util.MessageUtil;
import com.cn.darkblue.util.SysUtil;
import com.swtdesigner.SWTResourceManager;

public class GroupItrtWin extends CFShell implements IGroupChat{

	public static final String CFV_KEY = "coolfaceViewKey";
	public static final String LIS_KEY = "ListenerKey";
	private Button f2Button;
	private Button f1Button;
	private Group friendGroup;
	private StyledText chatInput;
	private StyledText chatScreen;
	
	HashMap headMap = null;
	HashMap friMap = null;
	
	PeerGroup peerGroup = null;
	OutputPipe baseOut = null;
	
	String cName = "";
	
	public GroupItrtWin(Shell shell,int style,PeerGroup pg){
		this(shell.getDisplay(),style,pg);
		
	}
	
	public GroupItrtWin(Display display, int style ,PeerGroup pg) {
		super(display, style);
		setText(" 組操作");
		headMap = new HashMap();
		friMap = new HashMap();
		peerGroup = pg;
		creatPanel();
		cName = peerGroup.getPeerName();
		
		CFResource.getInstance().getGroupItrtWins().add(this);
	}
	private void creatPanel(){
		setLayout(new FillLayout());
		final TabFolder tabFolder = new TabFolder(this, SWT.BORDER);

		final TabItem tabItem = new TabItem(tabFolder, SWT.NONE);
		tabItem.setText("聊天");

		final Composite composite = new Composite(tabFolder, SWT.NONE);
		final GridLayout gridLayout = new GridLayout();
		gridLayout.numColumns = 2;
		composite.setLayout(gridLayout);
		tabItem.setControl(composite);

		friendGroup = new Group(composite, SWT.NONE);
		final GridLayout gridLayout_2 = new GridLayout();
		friendGroup.setLayout(gridLayout_2);
		final GridData gd_friendGroup = new GridData(SWT.LEFT, SWT.FILL, false, true);
		friendGroup.setLayoutData(gd_friendGroup);

		f1Button = new Button(friendGroup, SWT.NONE);
		/*
		f1Button.addSelectionListener(new SelectionAdapter() {
			public void widgetSelected(SelectionEvent e) {
				try{
					Button but = (Button)e.getSource();
					IFriendInfo fi = (IFriendInfo)but.getData(CFV_KEY);
					if(fi!=null){
						System.out.println("will open the chat window");
						ChatWin win = new ChatWin(SysUtil.getSysShell(),SWT.SHELL_TRIM,fi.getId(),peerGroup);
						win.open();
					}else{
						MessageDialog.openInformation(SysUtil.getSysShell()," 溫馨提示 "," 對不起還沒有綁定到好友 ");
					}
					}catch(Exception ex){
						ex.printStackTrace();
					}
			}
		});*/
		f1Button.setText("     F1    ");

		f2Button = new Button(friendGroup, SWT.NONE);
		f2Button.setText("     F2    ");
		/*
		f2Button.addSelectionListener(new SelectionAdapter() {
			public void widgetSelected(SelectionEvent e) {
				try{
					Button but = (Button)e.getSource();
					IFriendInfo fi = (IFriendInfo)but.getData(CFV_KEY);
					if(fi!=null){
						System.out.println("will open the chat window");
						ChatWin win = new ChatWin(SysUtil.getSysShell(),SWT.SHELL_TRIM,fi.getId(),peerGroup);
						win.open();
					}else{
						MessageDialog.openInformation(SysUtil.getSysShell()," 溫馨提示 "," 對不起還沒有綁定到好友 ");
					}
					}catch(Exception ex){
						ex.printStackTrace();
					}
			}
		});*/

		final Group group_1 = new Group(composite, SWT.NONE);
		group_1.setLayout(new GridLayout());
		group_1.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

		chatScreen = new StyledText(group_1, SWT.V_SCROLL | SWT.READ_ONLY | SWT.MULTI | SWT.BORDER);
		final GridData gd_chatScreen = new GridData(SWT.FILL, SWT.FILL, true, true);
		chatScreen.setLayoutData(gd_chatScreen);

		chatInput = new StyledText(group_1, SWT.V_SCROLL | SWT.MULTI | SWT.BORDER);
		final GridData gd_chatInput = new GridData(SWT.FILL, SWT.CENTER, true, false);
		gd_chatInput.heightHint = 60;
		chatInput.setLayoutData(gd_chatInput);

		final Composite composite_1 = new Composite(group_1, SWT.NONE);
		composite_1.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
		final GridLayout gridLayout_1 = new GridLayout();
		gridLayout_1.numColumns = 7;
		composite_1.setLayout(gridLayout_1);

		final Button button_2 = new Button(composite_1, SWT.NONE);
		button_2.addSelectionListener(new SelectionAdapter() {
			public void widgetSelected(SelectionEvent e) {
				try{
				HashMap map = new HashMap();
				CFUtil.seatchPeer(peerGroup, map);
				}catch(Exception ex){
					ex.printStackTrace();
				}
				//MessageDialog.openInformation(SysUtil.getSysShell()," 溫馨提示 "," 查詢已經開始 ");
			}
		});
		button_2.setText("查詢成員");

		final Button button_3 = new Button(composite_1, SWT.NONE);
		button_3.addSelectionListener(new SelectionAdapter() {
			public void widgetSelected(SelectionEvent e) {
				System.out.println("add the peer size");
				bindFri();
				/*
				//initFreiHeader();
				IPGResource pgres = (IPGResource)CFResource.getInstance().getJoinPGMap().get(peerGroup);

				String mySelfId = peerGroup.getPeerID().toString();
				HashMap map = pgres.getMemebers();
				Object[] keys = map.keySet().toArray();
				for(int i=0;i<keys.length;i++){
					if(keys[i].toString().indexOf(mySelfId)!=-1) continue;
					
					if(i==0){
						System.out.println("f1Button peer is :"+keys[i]);
						f1Button.setData(CFV_KEY, map.get(keys[i]));
					}
					
					if(i==1){
						System.out.println("f2Button peer is :"+keys[i].toString());
						f2Button.setData(CFV_KEY, map.get(keys[i]));
						break;
					}
				}*/
			}
		});
		button_3.setText("更新成員");
		
		final Button f3Button = new Button(friendGroup, SWT.NONE);
		f3Button.setText("     f3     ");

		final Button f4Button = new Button(friendGroup, SWT.NONE);
		f4Button.setText("     f4     ");

		final Button f5Button = new Button(friendGroup, SWT.NONE);
		f5Button.setText("     f5     ");

		final Button f6Button = new Button(friendGroup, SWT.NONE);
		f6Button.setText("     f6     ");

		final Button f7Button = new Button(friendGroup, SWT.NONE);
		f7Button.setText("     f7     ");
		
		final Button f8Button = new Button(friendGroup, SWT.NONE);
		f8Button.setText("     f8     ");

		final Button act_rdvButton = new Button(composite_1, SWT.NONE);
		act_rdvButton.addSelectionListener(new SelectionAdapter() {
			public void widgetSelected(SelectionEvent e) {
				RendezVousService rvs = peerGroup.getRendezVousService();
				rvs.addListener(new CFRDVListener());
				rvs.startRendezVous();
			}
		});
		act_rdvButton.setText("ACT_RDV");

		final Button con_rdvButton = new Button(composite_1, SWT.NONE);
		con_rdvButton.addSelectionListener(new SelectionAdapter() {
			public void widgetSelected(SelectionEvent e) {
				RendezVousService rvs = peerGroup.getRendezVousService();
				PeerAdvertisement adv = (PeerAdvertisement) CFUtil.loadAdvertisement(SysUtil.getRoot()+"/WAYKE.xml");
				try{
					rvs.addListener(new CFRDVListener());
					System.out.println(" start connet to the rdv....."+adv.getPeerID().toString()+" name = "+adv.getName());
					rvs.connectToRendezVous(adv);
					
					//rvs.w
					int ii = 0;
					/*
					while(!rvs.isConnectedToRendezVous()){
						rvs.connectToRendezVous(adv);
						ii++;
						System.out.println(" start connet to the rdv....."+ii);
						try{
							Thread.sleep(5*1000);
						}catch(Exception ex){
							ex.printStackTrace();
						}
					}*/
				}catch(Exception ee){
					ee.printStackTrace();
				}
			}
		});
		con_rdvButton.setText("CON_RDV");

		final Button button = new Button(composite_1, SWT.NONE);
		button.addSelectionListener(new SelectionAdapter() {
			public void widgetSelected(SelectionEvent e) {
				String chats = chatInput.getText();
				if(chats==null || "".equals(chats))
					return;
				
				chats = cName+" 說:"+chats;
				sendPGMsg(chats);
				
				chatInput.setText("");
			}
		});
		button.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, true, false));
		button.setText("發送");

		final Button button_1 = new Button(composite_1, SWT.NONE);
		button_1.addSelectionListener(new SelectionAdapter() {
			public void widgetSelected(SelectionEvent e) {
				exit();
			}
		});
		button_1.setText("退出");

		final TabItem tabItem_1 = new TabItem(tabFolder, SWT.NONE);
		tabItem_1.setText("資源");
		
		this.setSize(500, 400);
		this.setText("組:"+peerGroup.getPeerGroupName());
		
		startRelay();
		//initFreiHeader();
	}
	
	private void startRelay(){
		try{
			RelayConfigAdv rca = (RelayConfigAdv)AdvertisementFactory.newAdvertisement(RelayConfigAdv.getAdvertisementType());
		
			rca.setServerEnabled(true);
			rca.setClientEnabled(true);
			
			//rca.setAclUri(arg0);
			//rca.setAclUri(arg0)
			System.out.println("the Relay Adv \n"+rca.getDocument(MimeMediaType.XMLUTF8));
			//peerGroup.refRelayProtoSpecID
			//rca.
		}catch(Exception e){
			e.printStackTrace();
		}
		
		//RelayServer srv = new RelayServer(peerGroup,"wayke01",);
	}
	
	private void bindFri(){
		IPGResource pgres = (IPGResource)CFResource.getInstance().getJoinPGMap().get(peerGroup);

		String mySelfId = peerGroup.getPeerID().toString();
		HashMap map = pgres.getMemebers();
		
		System.out.println("All Friends :"+map.size());
		
		Control[] objs = friendGroup.getChildren();
		
		Object[] keys = map.keySet().toArray();
		Button btn = null;
		FriChatClickListener lis;
		int index = 0;
		for(int i=0;i<keys.length;i++){
			if(keys[i].toString().indexOf(mySelfId)!=-1) continue;

			if(index<objs.length){
				btn = (Button)objs[index];
				IFriendInfo fi = (IFriendInfo)map.get(keys[i]);
				System.out.println("Friend Name is :"+fi.getName());
				System.out.println("Friend Name ID :"+fi.getId());
				btn.setText(fi.getName());
			
				btn.setData(CFV_KEY, fi);
				lis = (FriChatClickListener)btn.getData(LIS_KEY);
				if(lis!=null)
				btn.removeSelectionListener(lis);
				
			    lis = new FriChatClickListener();
				
				btn.addSelectionListener(lis);
				btn.setData(LIS_KEY, lis);
				index ++;
			}
		}
	}
	
	public void exit(){
		
		close();
	}
	
	private void initFreiHeader(){
		IPGResource pgres = (IPGResource)CFResource.getInstance().getJoinPGMap().get(peerGroup);

		HashMap map = pgres.getMemebers();
		Object[] keys = map.keySet().toArray();
		for(int i=0;i<keys.length;i++){
			System.out.println("peer is :"+keys[i].toString());
			addFreiHeader(map.get(keys[i]));
		}
	}
	
	private CoolButton getButton(Group group, String title) {

		return null;
	}
	
	private void sendPGMsg(String msg){
		if(baseOut==null){
			IPGResource pgres = (IPGResource)CFResource.getInstance().getJoinPGMap().get(peerGroup);
			baseOut = (OutputPipe)pgres.getOutputPipes().get(GroupHelper.PIPE_OUT_KEY);
			
			GroupBaseCommListener listener = (GroupBaseCommListener)pgres.getInputListener().get(GroupBaseCommListener.BASE_COMM_KEY);
			try{
			listener.setScreen(this);
			}catch(Exception e){
				e.printStackTrace();
			}
		}
		
		Message sMsg = new Message();
		MessageUtil.addStringToMessage(sMsg,GroupBaseCommListener.BASE_COMM_NAMESPACE, GroupBaseCommListener.CHAT_STR, msg);
		MessageUtil.addIntegerToMessage(sMsg,GroupBaseCommListener.BASE_COMM_NAMESPACE, GroupBaseCommListener.RES_CMD_STR, GroupBaseCommListener.CHAT_PGALL_CMD);
		
		try{
			baseOut.send(sMsg);
		}catch(Exception e){
			e.printStackTrace();
		}
		
	}
////////////////////IGroupChat/////////////////
	public boolean addFreiHeader(Object header){
		IFriendInfo fi = (IFriendInfo)header;
		friMap.put(fi.getId(),fi);
		headMap.put(fi.getId(),getButton(friendGroup,"cc"));//fi.getName()
		return true;
		
	}
	public boolean removeFreiHeader(Object header){
		return true;
	}
	public void sendMessage(Object msg){
		//TODO 選擇管道 發送消息
	}
	public void jitterHeader(Object obj){
		IFriendInfo fi = (IFriendInfo)obj;
		CoolButton cb = (CoolButton)headMap.get(fi.getId());
		Color cr1 = SWTResourceManager.getColor(0, 0, 0);
		cb.setClr1(cr1);
		cb.redraw();
	}

	public void print(String message) {
		String value = chatScreen.getText();
		if(value == null) value="";
		
		chatScreen.setText(value+message);
		chatScreen.setSelection((value+message).length());
		
	}

	public void println(String message) {
		String value = chatScreen.getText();
		if(value == null) value="";
		
		chatScreen.setText(value+message+"\n");
		chatScreen.setSelection((value+message).length());
	}

	public PeerGroup getPeerGroup() {
		return peerGroup;
	}

	public void setPeerGroup(PeerGroup peerGroup) {
		this.peerGroup = peerGroup;
	}
	
	class FriChatClickListener extends SelectionAdapter{
		public void widgetSelected(SelectionEvent e) {
			try{
				Button but = (Button)e.getSource();
				IFriendInfo fi = (IFriendInfo)but.getData(CFV_KEY);
				if(fi!=null){
					System.out.println("will open the chat window");
					ChatWin win = new ChatWin(SysUtil.getSysShell(),SWT.SHELL_TRIM,fi.getId(),peerGroup,fi.getName());
					win.open();
				}else{
					MessageDialog.openInformation(SysUtil.getSysShell()," 溫馨提示 "," 對不起還沒有綁定到好友 ");
				}
				}catch(Exception ex){
					ex.printStackTrace();
				}
		}
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区二区三区自拍| 午夜精品免费在线| 国产福利一区在线观看| 精品捆绑美女sm三区| 国产一区二区在线观看视频| 久久亚洲免费视频| 成人性生交大片免费看中文 | 亚洲无人区一区| 337p亚洲精品色噜噜| 蜜桃精品视频在线| 日本一区二区综合亚洲| av在线综合网| 丝袜美腿亚洲一区二区图片| 日韩精品中文字幕一区二区三区| 国产精品白丝jk白祙喷水网站| 国产精品女主播在线观看| 日本精品视频一区二区三区| 香蕉影视欧美成人| 国产亚洲综合在线| 在线观看日韩电影| 精品一区免费av| 国产精品久99| 91精品国产乱码| www.性欧美| 青椒成人免费视频| 中文字幕欧美区| 欧美一区二区在线观看| 成人一区二区三区视频在线观看| 亚洲一区二区三区中文字幕| 精品国产成人系列| 色呦呦一区二区三区| 狠狠色综合播放一区二区| 国产成人综合在线观看| 怡红院av一区二区三区| 精品对白一区国产伦| 在线视频亚洲一区| 成人一区二区三区| 免费亚洲电影在线| 一区二区三区在线视频免费观看| 日韩精品一区在线| 日本韩国欧美三级| 国产激情视频一区二区三区欧美| 亚洲va国产天堂va久久en| 国产精品免费aⅴ片在线观看| 91丨porny丨蝌蚪视频| 国内成人免费视频| 日韩主播视频在线| 亚洲女性喷水在线观看一区| 国产亚洲一区二区三区| 欧美日韩国产高清一区二区三区| av在线不卡电影| 国产精品一区在线| 麻豆精品在线看| 亚洲不卡一区二区三区| 亚洲美女在线一区| 亚洲国产激情av| 国产午夜精品在线观看| 日韩欧美成人一区二区| 欧美日韩国产一区| 欧美在线短视频| 91免费观看在线| av不卡在线观看| 成人sese在线| 成人高清av在线| 波多野结衣在线一区| 国产一区二区按摩在线观看| 精品写真视频在线观看| 免费在线看成人av| 麻豆视频观看网址久久| 蜜桃一区二区三区在线观看| 日韩av在线发布| 秋霞电影网一区二区| 色偷偷久久一区二区三区| aaa欧美色吧激情视频| 国产91色综合久久免费分享| 国产成人午夜精品5599 | 亚洲精品一卡二卡| 亚洲精品日韩综合观看成人91| 最好看的中文字幕久久| 自拍av一区二区三区| 亚洲码国产岛国毛片在线| 亚洲免费在线看| 亚洲一区二区三区免费视频| 亚洲大型综合色站| 天天影视色香欲综合网老头| 石原莉奈在线亚洲三区| 日本中文字幕一区二区有限公司| 日韩福利电影在线| 麻豆国产欧美日韩综合精品二区| 久久精品国产一区二区| 国产二区国产一区在线观看| thepron国产精品| 色综合天天综合网天天狠天天| 91极品视觉盛宴| 欧美高清视频一二三区| 精品国产乱子伦一区| 中文字幕乱码久久午夜不卡| 亚洲欧美日韩中文字幕一区二区三区 | 久久99国产精品免费网站| 国产精品影音先锋| 91无套直看片红桃| 欧美巨大另类极品videosbest| 日韩午夜精品视频| 日本一区二区三区电影| 亚洲综合视频在线| 精品一区二区在线看| av在线一区二区| 欧美一区二视频| 中文字幕中文在线不卡住| 亚洲成人动漫精品| 国产高清一区日本| 精品视频1区2区| 国产日韩欧美制服另类| 一区二区成人在线观看| 久久成人麻豆午夜电影| 色又黄又爽网站www久久| 日韩精品一区二区三区中文不卡| 中文字幕+乱码+中文字幕一区| 亚洲在线视频免费观看| 国产精品中文字幕日韩精品| 欧美视频在线一区| 欧美国产禁国产网站cc| 天天综合天天综合色| 成人免费视频播放| 日韩欧美aaaaaa| 一区二区三区欧美久久| 国产精品主播直播| 欧美一区二区三区四区在线观看| 中文字幕精品一区二区三区精品| 性久久久久久久久久久久| 国产 日韩 欧美大片| 日韩一区二区在线免费观看| 亚洲色图欧美激情| 丁香婷婷深情五月亚洲| 日韩网站在线看片你懂的| 一区二区三区高清在线| www.亚洲人| 国产午夜精品福利| 另类小说欧美激情| 欧美日韩一卡二卡| 国产精品主播直播| 6080日韩午夜伦伦午夜伦| 亚洲人成网站影音先锋播放| 国产精品一区久久久久| 欧美精品在线视频| 亚洲美女精品一区| 成人性视频免费网站| 久久久久综合网| 久久草av在线| 日韩一级片网址| 午夜精品视频一区| 91国产免费看| 一区二区三区在线视频观看58| 成人午夜在线免费| 国产三级精品视频| 国产一区二区久久| 久久久www成人免费毛片麻豆| 日韩成人av影视| 在线不卡的av| 亚洲成av人片| 欧美日韩国产经典色站一区二区三区| 亚洲三级电影全部在线观看高清| 丁香另类激情小说| 国产精品色婷婷久久58| 国产精品综合二区| 2023国产精品自拍| 国产麻豆精品视频| 国产欧美日韩在线视频| 国产69精品久久777的优势| 国产日韩欧美综合在线| 国产成人精品亚洲777人妖 | 欧美日本韩国一区二区三区视频| 亚洲与欧洲av电影| 欧美日韩你懂的| 免费观看一级欧美片| 91精品国产麻豆国产自产在线 | 亚洲成人午夜电影| 欧美日韩精品系列| 午夜激情久久久| 日韩欧美中文字幕公布| 久久爱www久久做| 国产欧美一区二区精品久导航 | 在线视频你懂得一区二区三区| 亚洲一区二区成人在线观看| 欧美群妇大交群的观看方式| 日韩精品欧美精品| 欧美xfplay| eeuss鲁片一区二区三区在线观看| 中文字幕一区二区三区视频| 在线免费不卡视频| 奇米影视在线99精品| 久久久91精品国产一区二区精品| 不卡的av电影在线观看| 一区二区三区在线观看国产 | 日韩精品电影在线| 久久综合九色欧美综合狠狠| 成人av免费观看| 五月婷婷久久综合| 久久精品人人做| 欧洲日韩一区二区三区|