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

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

?? clientframe.java

?? 簡易聊天工具
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:


import java.util.*;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.text.*;
import javax.swing.event.*;
import java.net.*;
import java.io.*;
import javax.swing.border.*;
import javax.media.*;
import javax.media.format.*;
public class ClientFrame extends JFrame
{
	Socket soc = null;
	Vector ChatFriends = new Vector();
	AudioFormat audioFormat = null;
	VideoFormat videoFormat = null;
	CaptureDeviceInfo audioDevice = null;
	CaptureDeviceInfo videoDevice = null;
	PrintWriter out = null; 
	ClientRecieveMsg listen = null;
	String name = null;
	String IP = null;
	String flag = "public";
	String sendToName = "所有人";
	String wordType = null;
	int wSize;
	String wFace;
	Color selectedColor = Color.BLACK;
	JLabel userName;
	JTextPane chatRecord;
	StyledDocument recordDoc;
	JLabel jlb1;
	JLabel sendToLabel;
	JComboBox sendTo;
	ButtonGroup group1;
	JRadioButton chatPublic;
	JRadioButton chatSecret;
	JButton wordColor;
	JLabel wordSizeLabel; 
	JComboBox wordSize;
	JLabel wordFaceLabel;
	JComboBox wordFace;
	ButtonGroup group2;
	JRadioButton bold;
	JRadioButton italic; 
	JLabel jlb2;
	JButton vedioChat;
	JButton audioChat;
	JButton netMeeting;
	JTextPane chatWords;
	
	JLabel jlb3;
	JButton sendMsg;
	JButton exit;
	
	public ClientFrame(String name)
	{
		this.name = name;
		userName = new JLabel("姓名:    " + name);
		userName.setBounds(new Rectangle(15, 5, 500, 20));
		
		chatRecord = new JTextPane();
		chatRecord.setDragEnabled(true);
		chatRecord.setEditable(false);
		JScrollPane cr = new JScrollPane();
		cr.getViewport().add(chatRecord);
		cr.setBounds(new Rectangle(10, 30, 500, 195));
		recordDoc = (StyledDocument)chatRecord.getDocument();
		//將預(yù)定義的字體格式加入格式化文檔對象中   
        Style style = recordDoc.addStyle("bobo", null);
        StyleConstants.setItalic(style, false); 
        StyleConstants.setBold(style, true);   
        StyleConstants.setFontFamily(style, "Dialog");   
        StyleConstants.setFontSize(style, 12);
        StyleConstants.setForeground(style, Color.RED);
        style = recordDoc.addStyle("zhuzhu", null);
		StyleConstants.setForeground(style, Color.BLUE);
		StyleConstants.setBold(style, true);
		StyleConstants.setFontFamily(style, "Dialog");
		StyleConstants.setFontSize(style, 12);
		StyleConstants.setItalic(style, false);
		
		style = recordDoc.addStyle("haha", null);
		StyleConstants.setForeground(style, Color.BLACK);
		StyleConstants.setBold(style, true);
		StyleConstants.setFontFamily(style, "Dialog");
		StyleConstants.setFontSize(style, 12);
		StyleConstants.setItalic(style, true);
		
		style = recordDoc.addStyle("xitong", null);
		StyleConstants.setForeground(style, new Color(255, 155,55));
		StyleConstants.setBold(style, true);
		StyleConstants.setFontFamily(style, "Dialog");
		StyleConstants.setFontSize(style, 12);
		StyleConstants.setItalic(style, false);
		try
		{
			recordDoc.insertString(recordDoc.getLength(), "                     Welcome to BITI-Chat!" + "\n", style);
    	} catch (BadLocationException e) {}

		
		jlb1 = new JLabel();
		jlb1.setBorder(BorderFactory.createEtchedBorder());
		jlb1.setBounds(new Rectangle(10, 235, 500, 60));
		sendToLabel = new JLabel("發(fā)送至:");
		sendToLabel.setBounds(new Rectangle(20, 240, 60, 20));
		sendTo = new JComboBox(new String[]
		{
			"所有人", "服務(wù)器"	
		});;
		sendTo.setBounds(new Rectangle(80, 240, 100, 20));
		sendTo.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent event)
			{
				select_ActionPerformed(event);	
			}	
		});
		group1 = new ButtonGroup();
		chatPublic = new JRadioButton("公開", true);
		chatPublic.setBounds(new Rectangle(30, 270, 70, 20));
		chatPublic.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent e)
			{
				flag = "public";	
			}	
		});
		group1.add(chatPublic);
		chatSecret = new JRadioButton("密聊", false);
		chatSecret.setBounds(new Rectangle(100, 270, 70, 20));
		chatSecret.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent e)
			{
				flag = "secret";	
			}	
		});
		group1.add(chatSecret);
		wordColor = new JButton("字體顏色...");
		wordColor.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent event)
			{
				select_ActionPerformed(event);	
			}	
		});
		wordColor.setBounds(new Rectangle(200, 240, 100, 20));
		wordSizeLabel = new JLabel("字體大小:"); 
		wordSizeLabel.setBounds(new Rectangle(320, 240, 80, 20));
		String[] s = new String[100];
		for(int i = 0; i < 88; i++)
		{
			s[i] = "" + (i + 12);	
		}
		wordSize = new JComboBox(s);
		wordSize.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent event)
			{
				select_ActionPerformed(event);	
			}	
		});
		wordSize.setBounds(new Rectangle(400, 240, 100, 20));
		wordFaceLabel = new JLabel("字體類型:");
		wordFaceLabel.setBounds(new Rectangle(320, 270, 80, 20));
		s = GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames();
		wordFace = new JComboBox(s);
		wordFace.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent event)
			{
				select_ActionPerformed(event);	
			}	
		});
		wordFace.setBounds(new Rectangle(400, 270, 100, 20));
		group2 = new ButtonGroup();
		bold = new JRadioButton("粗體", true);
		bold.setBounds(new Rectangle(170, 270, 70, 20));
		group2.add(bold);
		italic = new JRadioButton("斜體", false);
		italic.setBounds(new Rectangle(240, 270, 70, 20));
		group2.add(italic);
		
		jlb2 = new JLabel();
		jlb2.setBorder(BorderFactory.createEtchedBorder());
		jlb2.setBounds(new Rectangle(10, 300, 500, 40));
		vedioChat = new JButton("視頻聊天...");
		vedioChat.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent event)
			{
				vedioChat_ActionPerformed(event);	
			}		
		});				
		vedioChat.setBounds(new Rectangle(50, 310, 120, 20));
		audioChat = new JButton("語音聊天...");
		audioChat.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent event)
			{
				audioChat_ActionPerformed(event);	
			}		
		});								
		audioChat.setBounds(new Rectangle(200, 310, 120, 20));
		netMeeting = new JButton("網(wǎng)絡(luò)會議...");
		netMeeting.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent event)
			{
				netMeeting_ActionPerformed();	
			}		
		});
		netMeeting.setBounds(new Rectangle(350, 310, 120, 20));			
		chatWords = new JTextPane();
		chatWords.setDragEnabled(true);
		chatWords.setEditable(true);
		JScrollPane	cw = new JScrollPane(chatWords);
		cw.setBounds(new Rectangle(10, 350, 500, 150));
		
		jlb3 = new JLabel();
		jlb3.setBorder(BorderFactory.createEtchedBorder());
		jlb3.setBounds(new Rectangle(10, 510, 500, 40));
		SendAction sendlistener = new SendAction("發(fā)  送");
    	sendMsg = new JButton(sendlistener);
    	InputMap imap = sendMsg.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW);
    	imap.put(KeyStroke.getKeyStroke("ctrl ENTER"), "send-message");
    	ActionMap amap = sendMsg.getActionMap();
    	amap.put("send-message", sendlistener);								
		sendMsg.setBounds(new Rectangle(100, 520, 100, 20));
		exit = new JButton("退出聊天室");
		exit.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent event)
			{
				exit_ActionPerformed(event);	
			}		
		});										
		exit.setBounds(new Rectangle(300, 520, 100, 20));
		
		Container cp = getContentPane();
		cp.setLayout(null);
		cp.add(userName, null);
		cp.add(jlb1, null);
		cp.add(sendToLabel, null);
		cp.add(sendTo, null);
		cp.add(chatPublic, null);
		cp.add(chatSecret, null);
		cp.add(jlb2, null);
		cp.add(wordColor, null);
		cp.add(wordSizeLabel, null);
		cp.add(wordSize, null);
		cp.add(wordFaceLabel, null);
		cp.add(wordFace, null);
		cp.add(bold, null);
		cp.add(italic, null);
		cp.add(jlb3, null);
		cp.add(vedioChat, null);
		cp.add(audioChat, null);
		cp.add(netMeeting, null);
		cp.add(sendMsg, null);
		cp.add(exit, null);
		cp.add(cr, null);
		cp.add(cw, null);
		
		Toolkit kit = Toolkit.getDefaultToolkit();
		Dimension screenSize = kit.getScreenSize();
      	int screenHeight = screenSize.height;
      	int screenWidth = screenSize.width;
		setLocation(screenWidth / 4, screenHeight / 10);
		setSize(530, 600);
		setTitle("聊天客服端");
		
		connect();		
	}
	void connect()
	{
		try
		{
			soc = new Socket(InetAddress.getLocalHost(), 8080);  // 使用端口8080實(shí)例化本地套接字
			System.out.println(soc);					   // 打印實(shí)例化結(jié)果
			out = new PrintWriter(
					new BufferedWriter(
						new OutputStreamWriter(soc.getOutputStream())));	   // 將out指向soc的輸出流
			String inetAddress = InetAddress.getLocalHost().toString();
			StringTokenizer IAst = new StringTokenizer(inetAddress, "/");
			IAst.nextToken();
			String ip = IAst.nextToken();
			String userinfo = "INFO:" + name + ":" + ip;
			System.out.println(userinfo);                                                         // 將name和ip用":"分開
			sendMsg(userinfo);
			listen = new ClientRecieveMsg(this, name, soc);		// 實(shí)例化客戶端線程
			listen.start();								// 啟動線程
		}
		catch(IOException e)
		{
			 System.out.println("Error:" + e);
			 disconnect();
		}
	}
		
	void select_ActionPerformed(ActionEvent event)
	{
		if(event.getSource() == wordColor)
		{
			selectedColor = JColorChooser.showDialog(null,"選擇字體顏色",Color.BLACK);
		}
		chatWords.setForeground(selectedColor);
		wSize = Integer.parseInt((String)wordSize.getSelectedItem());

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品电影一区二区三区| 舔着乳尖日韩一区| 欧美一区二区三区免费观看视频| 国产精品99久久久久久久vr| 性做久久久久久久久| 国产精品免费免费| 欧美一级二级在线观看| 欧美在线免费观看亚洲| 国产91富婆露脸刺激对白| 日本亚洲一区二区| 亚洲精品videosex极品| 国产校园另类小说区| 日韩欧美国产系列| 欧美在线|欧美| 波多野结衣中文字幕一区 | 狂野欧美性猛交blacked| 有坂深雪av一区二区精品| 久久看人人爽人人| 欧美大片日本大片免费观看| 欧美日韩精品福利| 日本久久一区二区三区| 97超碰欧美中文字幕| 黄色日韩三级电影| 美女在线视频一区| 丝袜美腿亚洲色图| 亚洲国产精品欧美一二99| 亚洲青青青在线视频| 国产精品久久久久久久久搜平片| 国产亚洲一区二区三区在线观看| www久久精品| 精品盗摄一区二区三区| 欧美电影免费观看完整版| 欧美一级搡bbbb搡bbbb| 69堂精品视频| 欧美一级在线观看| 欧美大片日本大片免费观看| 日韩精品在线看片z| 欧美大片在线观看一区| 精品国产sm最大网站| 精品久久久久一区二区国产| 精品国产第一区二区三区观看体验 | 亚洲美腿欧美偷拍| 亚洲精品亚洲人成人网在线播放| 亚洲日本一区二区| 亚洲午夜羞羞片| 亚洲1区2区3区4区| 看片网站欧美日韩| 国产精品资源网| 成人性生交大片免费看中文| 99re视频这里只有精品| 91欧美激情一区二区三区成人| 91久久香蕉国产日韩欧美9色| 在线欧美小视频| 欧美日韩午夜影院| 日韩天堂在线观看| 国产亚洲欧美色| 综合久久国产九一剧情麻豆| 亚洲国产视频在线| 久久精品国产色蜜蜜麻豆| 国产精品一区二区三区乱码| eeuss国产一区二区三区| 欧美性视频一区二区三区| 欧美高清视频www夜色资源网| 日韩免费观看高清完整版| 久久久精品2019中文字幕之3| 中文字幕一区二区三区在线不卡| 亚洲综合在线五月| 美女性感视频久久| 国产精品白丝jk白祙喷水网站| 91在线观看下载| 欧美人妇做爰xxxⅹ性高电影| 欧美成人a在线| 亚洲欧洲制服丝袜| 久88久久88久久久| 91在线视频免费观看| 欧美猛男gaygay网站| 久久精品视频在线免费观看| 玉米视频成人免费看| 久久福利视频一区二区| 99r国产精品| 日韩精品一区二区三区中文不卡 | 亚洲国产一区在线观看| 国内久久精品视频| 91国产免费观看| 精品乱码亚洲一区二区不卡| 亚洲色图另类专区| 极品销魂美女一区二区三区| 色婷婷激情一区二区三区| www欧美成人18+| 亚洲成av人片一区二区梦乃| 丁香六月综合激情| 日韩一区二区免费视频| 亚洲欧洲综合另类| 国产成人精品综合在线观看| 制服丝袜av成人在线看| 中文字幕一区二区在线观看| 国内精品国产三级国产a久久 | 精品捆绑美女sm三区| 亚洲一区二区视频在线观看| 国产.精品.日韩.另类.中文.在线.播放| 欧美色图天堂网| 国产精品三级视频| 激情久久五月天| 欧美一区二区三区在线观看| 亚洲欧美另类小说视频| 国产成人午夜高潮毛片| 精品蜜桃在线看| 日韩av一二三| 欧美专区亚洲专区| 亚洲视频在线一区| 成人午夜免费视频| 久久久久久久综合日本| 另类小说色综合网站| 制服丝袜激情欧洲亚洲| 亚洲123区在线观看| 在线视频国内自拍亚洲视频| 中文字幕一区不卡| 成人黄页在线观看| 久久久国产精品不卡| 久久99久国产精品黄毛片色诱| 3751色影院一区二区三区| 亚洲国产视频网站| 欧美在线一二三四区| 一区二区三区在线看| 91影院在线免费观看| 中文字幕亚洲区| 99国产精品国产精品毛片| 国产精品久久看| 99国内精品久久| 中文字幕一区二区三区不卡 | 在线观看成人免费视频| 亚洲人成网站色在线观看| 99视频热这里只有精品免费| 国产精品久久福利| 99国产欧美另类久久久精品| 亚洲人成亚洲人成在线观看图片 | 欧美裸体一区二区三区| 亚洲va国产va欧美va观看| 欧美特级限制片免费在线观看| 亚洲一二三四在线| 欧美日韩国产首页在线观看| 性感美女极品91精品| 67194成人在线观看| 久久国产日韩欧美精品| 欧美精品一区二区三区久久久 | 一区二区在线看| 欧美亚洲一区二区在线| 首页综合国产亚洲丝袜| 欧美一区二区三区性视频| 美女在线视频一区| 国产日韩欧美a| 91亚洲资源网| 爽好久久久欧美精品| 久久伊人蜜桃av一区二区| 国产suv精品一区二区883| 日韩毛片高清在线播放| 在线观看免费亚洲| 日本vs亚洲vs韩国一区三区| 久久综合九色综合久久久精品综合| 国产福利一区二区三区视频| 国产精品的网站| 7777女厕盗摄久久久| 国产精品一区2区| 亚洲视频 欧洲视频| 91精品婷婷国产综合久久性色 | 午夜一区二区三区视频| 日韩免费一区二区| 成年人网站91| 亚洲第一激情av| 精品成人在线观看| 99精品视频一区二区| 丝袜a∨在线一区二区三区不卡| 精品福利一区二区三区| 91视频xxxx| 麻豆国产精品官网| 亚洲日本中文字幕区| 精品日韩在线观看| 91麻豆国产精品久久| 久久电影网电视剧免费观看| 中文字幕一区二区三区av| 欧美一区二区三区啪啪| 99久久婷婷国产精品综合| 日韩av电影天堂| 国产精品久久久久aaaa| 91精品久久久久久蜜臀| www.欧美精品一二区| 免费三级欧美电影| 自拍偷拍亚洲综合| 精品久久久久99| 欧美日韩国产一二三| 盗摄精品av一区二区三区| 日韩黄色免费网站| ...av二区三区久久精品| 精品精品欲导航| 欧美日韩国产不卡| voyeur盗摄精品| 国产高清一区日本| 蜜臀av性久久久久蜜臀aⅴ流畅 | 欧美日韩的一区二区| 成人一区二区视频|