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

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

?? 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();
		//將預定義的字體格式加入格式化文檔對象中   
        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("發送至:");
		sendToLabel.setBounds(new Rectangle(20, 240, 60, 20));
		sendTo = new JComboBox(new String[]
		{
			"所有人", "服務器"	
		});;
		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("字體大?。?quot;); 
		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("網絡會議...");
		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("發  送");
    	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實例化本地套接字
			System.out.println(soc);					   // 打印實例化結果
			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);		// 實例化客戶端線程
			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());

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲成人在线免费| 亚洲欧洲精品一区二区精品久久久 | 福利电影一区二区| 久久伊人中文字幕| 成人在线视频一区二区| 国产精品女主播av| 91在线小视频| 性久久久久久久久| 日韩免费视频线观看| 国产一区欧美日韩| 中文字幕高清一区| 欧美日韩中文字幕精品| 日本不卡在线视频| 久久久久国产精品免费免费搜索| 成人伦理片在线| 亚洲国产另类av| 欧美不卡123| 99久久精品免费观看| 日韩制服丝袜av| 中文字幕精品在线不卡| 欧洲精品中文字幕| 久久狠狠亚洲综合| 亚洲欧美另类在线| 日韩欧美电影在线| 91福利视频网站| 久久97超碰色| 亚洲日本成人在线观看| 69堂精品视频| av网站一区二区三区| 午夜不卡av免费| 国产精品色一区二区三区| 欧美日韩国产精品成人| 国产成人自拍网| 亚洲123区在线观看| 国产女同互慰高潮91漫画| 欧美日韩一区三区| 波多野结衣欧美| 久草这里只有精品视频| 依依成人综合视频| 久久久精品tv| 制服丝袜在线91| 色偷偷一区二区三区| 国产成人午夜视频| 人人超碰91尤物精品国产| 亚洲欧洲性图库| 亚洲精品一区二区精华| 欧美视频一区二区三区四区 | 中文字幕在线不卡| 久久人人超碰精品| 91麻豆精品国产91久久久使用方法 | 精品在线播放免费| 亚洲国产美女搞黄色| 亚洲欧洲日韩综合一区二区| 久久久不卡影院| 日韩午夜电影在线观看| 欧美性大战久久| 91网上在线视频| 成人av电影免费观看| 国产资源在线一区| 久久99精品国产麻豆婷婷| 天堂影院一区二区| 亚洲一区在线播放| 亚洲精品一二三| 中文字幕在线一区免费| 欧美激情一区二区三区蜜桃视频| 精品国产1区2区3区| 日韩欧美一级精品久久| 8v天堂国产在线一区二区| 欧美亚洲一区二区在线| 色综合久久综合网欧美综合网| 成人一区在线看| 成人精品视频.| 成人av午夜影院| 高清不卡在线观看av| 丰满岳乱妇一区二区三区 | 波多野结衣的一区二区三区| 东方aⅴ免费观看久久av| 国产精品2024| 国产成人av电影免费在线观看| 韩国欧美国产一区| 国产精品99久| 成人午夜av在线| av成人动漫在线观看| 91在线观看视频| 色哟哟在线观看一区二区三区| 91丨九色丨尤物| 91福利精品第一导航| 欧美色精品在线视频| 欧美一区二区三区小说| 精品sm在线观看| 国产欧美一区视频| 一区在线中文字幕| 亚洲成年人网站在线观看| 三级影片在线观看欧美日韩一区二区| 日本中文一区二区三区| 国产伦精品一区二区三区免费| 国产成人午夜电影网| 北岛玲一区二区三区四区| 色狠狠色狠狠综合| 在线电影国产精品| 久久影院午夜片一区| 中文在线一区二区 | 欧美人狂配大交3d怪物一区| 欧美一区二区人人喊爽| 久久综合色之久久综合| 国产精品久久久久久福利一牛影视 | 夜夜嗨av一区二区三区| 日韩av电影天堂| 国产一区二区调教| 色婷婷久久久亚洲一区二区三区 | 激情偷乱视频一区二区三区| 成人午夜视频福利| 欧美色图免费看| 国产婷婷色一区二区三区在线| 亚洲另类中文字| 老司机午夜精品99久久| 色综合久久久久网| 欧美变态tickling挠脚心| 国产精品高潮呻吟| 日韩精品亚洲专区| 99精品视频一区| 日韩欧美一区中文| 亚洲乱码精品一二三四区日韩在线| 另类欧美日韩国产在线| 色丁香久综合在线久综合在线观看| 日韩一区和二区| 亚洲男人都懂的| 国产一区高清在线| 欧美日韩成人在线| 亚洲丝袜另类动漫二区| 激情深爱一区二区| 91精品国产入口| 亚洲黄色免费电影| 国产成人av电影在线观看| 欧美区在线观看| 亚洲精品日产精品乱码不卡| 国产成人精品免费一区二区| 在线播放91灌醉迷j高跟美女 | 亚洲精品国产一区二区三区四区在线| 美国毛片一区二区| 欧美视频中文一区二区三区在线观看| 国产精品久久久爽爽爽麻豆色哟哟| 久久精品国产亚洲一区二区三区| 欧美在线影院一区二区| 亚洲欧洲国产专区| 国产91色综合久久免费分享| 亚洲精品在线免费播放| 欧美aaaaa成人免费观看视频| 在线精品观看国产| 中文字幕一区二区三区四区不卡| 国产精品亚洲а∨天堂免在线| 欧美一区二区三区在线看| 亚洲18女电影在线观看| 欧美亚男人的天堂| 亚洲一区二区在线免费看| av激情综合网| 国产精品日日摸夜夜摸av| 国产丶欧美丶日本不卡视频| 久久老女人爱爱| 国产在线观看免费一区| 日韩写真欧美这视频| 日本一区中文字幕| 日韩美女一区二区三区四区| 美日韩一级片在线观看| 日韩欧美一二三区| 久久99在线观看| 久久久久久久久免费| 国产自产2019最新不卡| 久久久久久一二三区| 国产成人免费视频网站高清观看视频 | 成人app在线| 中文字幕在线观看不卡| 波多野结衣中文字幕一区| 国产精品无遮挡| 不卡的av中国片| 樱桃国产成人精品视频| 欧美主播一区二区三区美女| 亚洲一区二区成人在线观看| 欧美日韩国产综合一区二区| 亚洲成人一区在线| 日韩欧美一二三区| 国产一区二区精品久久| 国产精品电影院| 日本韩国精品在线| 午夜激情久久久| 久久婷婷一区二区三区| 不卡视频在线观看| 亚洲一区av在线| 91精品国产入口在线| 国产麻豆91精品| 日韩美女精品在线| 精品视频一区 二区 三区| 日本女优在线视频一区二区| 久久在线观看免费| 91蜜桃免费观看视频| 天天综合天天综合色| 精品88久久久久88久久久| 99视频一区二区| 日韩综合一区二区| 日本一区二区三区在线不卡|