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

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

?? chatclientpanel.java

?? Received chat message sent there is choice, as well as an increase of server features and color disp
?? JAVA
字號:
package net.yangzhe.chatSocket;
import java.awt.event.KeyEvent;
import java.io.IOException;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JButton;
import javax.swing.JScrollPane;
import javax.swing.JTextPane;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.event.*;
import javax.swing.text.*;
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
import java.util.*;
import java.io.*;
import java.net.*;

public class ChatClientPanel  extends JPanel{

	private JTextPane jTextArea = null;
	private JButton jButton = null;
	private JTextPane jTextArea1 = null;
	private JScrollPane jScrollPane = null;
	private JScrollPane jScrollPane1 = null;
	private JScrollPane jScrollPane3 = null;
	private Client client;
	private String show="";
	private JButton jButton1,jButton3 = null;
	private String nickname;
	private JList jList=null;
	private JLabel jLabel3=null;
    private static int index=0;
    SimpleAttributeSet attrset= new SimpleAttributeSet();
    Vector <String> userList= new Vector<String>();
    Document docs;
	/**
	 * This is the default constructor
	 * @param client2 
	 * @param c 
	 * @throws IOException 
	 * @throws UnknownHostException 
	 */
	public ChatClientPanel(Client clienta,String un) throws UnknownHostException, IOException {
		super();
		//JFrame f=new JFrame(nickname+" :聊天室");
		
		
		nickname=un;
		initialize();
		
		client =clienta;
		//client.sendNews("%0%0");//jump out of cycle 1 at server
		//client.sendNews(this.nickname);
		Thread t=new Thread(new Runnable(){
			public void run() {
				
				while(true){
					//System.out.println("abcd");
					try {
						show=client.getNews().replace("%8%8","\n");
						outText(show);
					} catch (Exception ex) {
						// TODO Auto-generated catch block
						//jTextArea1.setCaretPosition(index);
						//jTextArea1.("失去對服務器的連接。");
						outText("%2%2,"+now()+","+"以失去連接..\n");
					
					    ex.printStackTrace();
						//this.stop();
					    break;
						
					}
				}
				
			}
		});
		t.start();
		
		Thread t2=new Thread(new Runnable(){
			public void run() {
				
				while(true){
					//client.sendNews("%6%6");//refresh
					try {
						Thread.sleep(3000);
					} catch (InterruptedException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
				}
				
			}
		});
		t2.start();
		
		
	}
	
	public SimpleAttributeSet color(int i){
		SimpleAttributeSet attrset3=new SimpleAttributeSet();
		switch(i){
			case 1:StyleConstants.setForeground(attrset3,Color.blue);break;   //時間藍色
			case 2:StyleConstants.setForeground(attrset3,Color.yellow);break;          //成員黃色
			case -1:StyleConstants.setForeground(attrset3,Color.red);break;   //系統消息紅色
			default: 
		}
		return attrset3;
	}
	
	
	
	public String now() 
    {
        Date today = new Date();
        SimpleDateFormat formatter = new SimpleDateFormat("[ hh:mm:ss ]");
        String dateString=null;
        try 
        {
            dateString = formatter.format(today);
            return dateString;
        } catch (IllegalArgumentException iae) {
            //result.setForeground(Color.red);
           // result.setText("Error: " + iae.getMessage());
        }
		return dateString;
    }
	
	/**
	 * This method initializes this
	 * 
	 * @return void
	 */
	private void initialize() {
		this.setLayout(null);
		this.setSize(526, 470);
		//this.setName(nickname+":聊天室");
		jLabel3= new JLabel();
	    jLabel3.setBounds(new java.awt.Rectangle(430,17,56,47));
		jLabel3.setText("在線列表");
		this.add(jLabel3,null);
		this.add(getJButton(), null);
		this.add(getJScrollPane(), null);
		this.add(getJScrollPane1(), null);
		this.add(getJScrollPane3(),null);
		this.add(getJButton1(), null);
		this.add(getJButton3(),null);
		//this.show();
		//this.addWindowListener(new WindowAdapter(){
		//	public void windowClosing(WindowEvent e){
		//		System.exit(0);
		//	}
		//});
		
	}
	
	
	private JScrollPane getJScrollPane3() {
		if (jScrollPane3 == null) {
			jScrollPane3 = new JScrollPane();
			jScrollPane3.setBounds(new java.awt.Rectangle(425,60,75,150));
			jScrollPane3.setViewportView(getJList());
		}
		return jScrollPane3;
	}
	
	
	private JList getJList() {
		if (jList == null) {
			jList = new JList();
			jList.addListSelectionListener(new ListSelectionListener(){
									public void valueChanged(ListSelectionEvent e){
											//Vector <String> test=ChatServer.getUserList();
										    //jList.updateUI();
										//	
										//	if((index=jList.getSelectedValue())!=null)
										//	index=test[index1];
										//	      jButton3.setEnabled(true);
										//	else jButton3.setEnabled(false);
                                            
										}
									});
		}
		return jList;
	}


	/**
	 * This method initializes jTextArea	
	 * 	
	 * @return javax.swing.JTextArea	
	 */
	private JTextPane getJTextArea() {
		if (jTextArea == null) {
			jTextArea = new JTextPane();
			jTextArea.setText("");
			jTextArea.addKeyListener(new java.awt.event.KeyAdapter() {
				public void keyReleased(java.awt.event.KeyEvent e) {
					if(e.isControlDown()&&e.getKeyCode()==10)
						jButton.doClick();
					//System.out.println("keyTyped()"+(KeyEvent.VK_ENTER+KeyEvent.VK_CONTROL)+" "+e.getKeyLocation()); // TODO Auto-generated Event stub keyTyped()
				}
			});
		}
		return jTextArea;
	}

	/**
	 * This method initializes jButton	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getJButton() {
		if (jButton == null) {
			jButton = new JButton();
			jButton.setBounds(new java.awt.Rectangle(393,369,99,31));
			jButton.setText("發送消息");
			jButton.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
				
					String s = "%3%3,"+now()+", "+nickname+" ,"+"說:"+jTextArea.getText().replace("\r\n","%8%8")+"%8%8";
					if(s!=""||s!="\r\n")
						client.sendNews(s);
					 jTextArea.setText("");
					System.out.println(s+"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); 
				    s=null;// TODO Auto-generated Event stub actionPerformed()
				}
			});
		}
		return jButton;
	}

	/**
	 * This method initializes jTextArea1	
	 * 	
	 * @return javax.swing.JTextArea	
	 */
	private JTextPane getJTextArea1() {
		if (jTextArea1 == null) {
			jTextArea1 = new JTextPane();
			jTextArea1.setText("");
			jTextArea1.setEditable(false);
		}
		return jTextArea1;
	}

	/**
	 * This method initializes jScrollPane	
	 * 	
	 * @return javax.swing.JScrollPane	
	 */
	private JScrollPane getJScrollPane() {
		if (jScrollPane == null) {
			jScrollPane = new JScrollPane();
			jScrollPane.setBounds(new java.awt.Rectangle(25,17,375,236));
			jScrollPane.setViewportView(getJTextArea1());
		}
		return jScrollPane;
	}

	/**
	 * This method initializes jScrollPane1	
	 * 	
	 * @return javax.swing.JScrollPane	
	 */
	private JScrollPane getJScrollPane1() {
		if (jScrollPane1 == null) {
			jScrollPane1 = new JScrollPane();
			jScrollPane1.setBounds(new java.awt.Rectangle(25,266,475,95));
			jScrollPane1.setViewportView(getJTextArea());
		}
		return jScrollPane1;
	}
	
	private JButton getJButton3(){
		if(jButton3==null){
			jButton3=new JButton();
			jButton3.setBounds(new java.awt.Rectangle(170,368,108,32));
			jButton3.setText("創建私聊");
			jButton3.setEnabled(false);
		}
		return jButton3;
	}
	/**
	 * This method initializes jButton1	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getJButton1() {
		if (jButton1 == null) {
			jButton1 = new JButton();
			jButton1.setBounds(new java.awt.Rectangle(42,368,108,32));
			jButton1.setText("我要離開了");
			jButton1.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					client.sendNews("%end");//跳出服務器第2循環
					/*try {
						if(client.getNews()!=null)
							System.exit(1);
					} catch (IOException e1) {
						// TODO Auto-generated catch block
						System.exit(0);
						//e1.printStackTrace();
					}*/
					System.exit(1);
					
					System.out.println("aactionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
				}
			});
		}
		return jButton1;
	}
	
	
	void outText(String a){                  //將String a輸出
		String[] info=a.split(",");
        if(info[0].equals("%1%1")){     //用戶列表
        	userList.clear();
        	for(int i=1;i<info.length;i++){
        		userList.add(info[i]);
        		System.out.println(info[i]);
        	}
        	jList.setListData(userList);
        }else if(info[0].equals("%2%2")){   //系統消息
        	docs=jTextArea1.getDocument();
			try{
			     docs.insertString(docs.getLength(),info[1],color(1));    //時間藍色
			     jTextArea1.setCaretPosition(docs.getLength());
			}catch(BadLocationException e){
				 e.printStackTrace();
			}
			String lm="";
			for(int i=2;i<info.length;i++){
				lm+=info[i];
				if(i<info.length-1){
					lm+=",";
				}
			}
			//info=lm.split("%8%8");
			//for(int i=0;i<info.length;i++){
				docs=jTextArea1.getDocument();
			    try{
			        docs.insertString(docs.getLength(),lm,color(-1));    //系統紅色
			        jTextArea1.setCaretPosition(docs.getLength());
			    }catch(BadLocationException e){
				    e.printStackTrace();
			    }
			//}
        }else if(info[0].equals("%3%3")){   //普通消息
        	docs=jTextArea1.getDocument();
			try{
			     docs.insertString(docs.getLength(),info[1],color(1));    //時間藍色
			     jTextArea1.setCaretPosition(docs.getLength());
			}catch(BadLocationException e){
				 e.printStackTrace();
			}
			docs=jTextArea1.getDocument();
			try{
			     docs.insertString(docs.getLength(),info[2],color(-1));    //名字紅色
			     jTextArea1.setCaretPosition(docs.getLength());
			}catch(BadLocationException e){
				 e.printStackTrace();
			}
			String lm="";
			for(int i=3;i<info.length;i++){
				lm+=info[i];
				if(i<info.length-1){
					lm+=",";
				}
			}
			//info=lm.split("%8%8");
			//for(int i=0;i<info.length;i++){
				docs=jTextArea1.getDocument();
			    try{
			        docs.insertString(docs.getLength(),lm,color(10));    //普通
			        jTextArea1.setCaretPosition(docs.getLength());
			    }catch(BadLocationException e){
				    e.printStackTrace();
			    }
			//}
        }
        	         
            
	}

	//public static void main(String[] args) throws Exception{
	//	Client cl = new Client(InetAddress.getByName("127.0.0.1"));
	//	ChatClientPanel cc =new ChatClientPanel("127.0.0.1","test");
	//	cc.show();
		//cc.show();
		//cc.setVisible(true);
		
	//}

}  //  @jve:decl-index=0:visual-constraint="10,10"

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品国产精品乱码不99| 国产麻豆精品视频| 麻豆国产一区二区| 99精品国产热久久91蜜凸| 在线综合视频播放| 亚洲男人的天堂网| 国产成+人+日韩+欧美+亚洲| 欧美蜜桃一区二区三区| 中文字幕日韩一区| 国产精品一区二区久久精品爱涩| 色妹子一区二区| 国产精品情趣视频| 国产一区二区三区综合| 欧美一区二区三区婷婷月色 | 国产乱淫av一区二区三区| 欧美日韩的一区二区| 国产精品久久久99| 国产成人在线影院| 精品国产乱码久久久久久浪潮| 性久久久久久久| 精品视频一区三区九区| 亚洲欧美另类小说视频| 99riav一区二区三区| 国产日产欧产精品推荐色| 毛片av中文字幕一区二区| 69久久夜色精品国产69蝌蚪网| 一区二区三区四区在线播放| k8久久久一区二区三区| 中文字幕一区二区三区精华液| 成人午夜视频在线| 欧美国产精品一区二区| 成人免费视频免费观看| 国产精品久久久久久久久久久免费看 | 亚洲福利一二三区| 欧美亚洲综合色| 亚洲电影在线播放| 91精品国产一区二区三区蜜臀| 夜夜嗨av一区二区三区四季av| 色呦呦一区二区三区| 一区二区视频免费在线观看| 在线免费观看日本欧美| 亚洲午夜免费电影| 欧美一区二区在线不卡| 蜜臀av国产精品久久久久| 精品国产91洋老外米糕| 成人午夜激情在线| 亚洲女爱视频在线| 精品视频在线免费看| 秋霞午夜鲁丝一区二区老狼| 日韩免费电影网站| 高清shemale亚洲人妖| 18欧美亚洲精品| 欧美日韩久久久| 美女免费视频一区二区| 国产农村妇女精品| 色婷婷av一区二区三区大白胸 | 91精品一区二区三区在线观看| 日韩va亚洲va欧美va久久| 日韩免费高清av| 成人av在线网| 偷窥国产亚洲免费视频| 久久午夜国产精品| 日本韩国一区二区| 久久精品国产秦先生| 中文字幕中文字幕在线一区 | 久久国产精品第一页| 国产欧美一区二区精品性色| 99精品在线观看视频| 亚洲国产日韩在线一区模特| 日韩一区二区高清| 99久精品国产| 寂寞少妇一区二区三区| 中文字幕日韩一区| 26uuu国产电影一区二区| 国产麻豆视频一区| 午夜久久久影院| 国产亚洲欧美中文| 51午夜精品国产| 国产91色综合久久免费分享| 一区二区三区中文字幕精品精品| 精品国产乱码久久久久久牛牛 | 精品国产成人在线影院| 91丨porny丨国产入口| 日韩电影在线看| 中文字幕在线观看一区二区| 91精品一区二区三区在线观看| 99在线视频精品| 另类小说综合欧美亚洲| 亚洲精品一二三四区| 久久久精品国产免大香伊| 色先锋久久av资源部| 国产成人亚洲综合a∨婷婷 | 精品国产一二三| 一本一本久久a久久精品综合麻豆| 久久se精品一区精品二区| 亚洲午夜日本在线观看| 欧美国产精品一区二区三区| 欧美精品一区二区精品网| 在线观看免费一区| 99热国产精品| 国产宾馆实践打屁股91| 国内外精品视频| 欧美aaaaaa午夜精品| 午夜视频在线观看一区二区| 亚洲欧洲www| 国产欧美精品区一区二区三区 | 精久久久久久久久久久| 天天爽夜夜爽夜夜爽精品视频| 亚洲欧美国产77777| 欧美韩国日本不卡| 久久精品视频一区二区| xnxx国产精品| 精品成人a区在线观看| 日韩欧美成人激情| 欧美一区二区三区的| 91精品在线麻豆| 欧美电影免费观看高清完整版| 制服丝袜av成人在线看| 91麻豆精品久久久久蜜臀| 欧美一级欧美一级在线播放| 欧美丰满美乳xxx高潮www| 欧美日韩国产影片| 91麻豆精品国产91久久久久久久久 | 欧洲一区二区三区在线| 欧美在线视频不卡| 欧美视频在线不卡| 欧美日韩高清在线播放| 91精品国产综合久久精品图片| 制服视频三区第一页精品| 7799精品视频| 精品卡一卡二卡三卡四在线| 精品国产乱码久久久久久图片| 精品乱人伦一区二区三区| 精品国产自在久精品国产| 欧美激情一区二区三区蜜桃视频| 国产精品女人毛片| 亚洲天堂精品视频| 亚洲韩国一区二区三区| 久久激情综合网| 懂色av中文字幕一区二区三区| 91麻豆国产精品久久| 欧美影视一区在线| 精品日韩99亚洲| 国产午夜亚洲精品午夜鲁丝片 | 99精品久久久久久| 欧美午夜电影网| 日韩精品最新网址| 亚洲国产成人在线| 亚洲成人激情自拍| 免费成人美女在线观看.| 成人免费看黄yyy456| 欧美三级乱人伦电影| 久久蜜桃一区二区| 一区二区三区四区视频精品免费| 免费人成精品欧美精品| 久久国产剧场电影| 91高清视频在线| 久久青草国产手机看片福利盒子| 国产精品久久久久久久久图文区| 一区二区三区中文免费| 韩国理伦片一区二区三区在线播放| 成人激情电影免费在线观看| 欧美日韩一区二区在线观看| 精品国一区二区三区| 亚洲欧美在线观看| 日本中文在线一区| 色av综合在线| 久久精品人人做| 日韩电影一区二区三区四区| 成人黄色一级视频| 精品欧美一区二区久久| 亚洲精品美国一| 粉嫩嫩av羞羞动漫久久久| 制服.丝袜.亚洲.中文.综合| 亚洲欧美日韩国产综合在线| 狠狠色伊人亚洲综合成人| 欧美日韩国产高清一区二区三区| 国产精品乱子久久久久| 国内欧美视频一区二区 | 亚洲动漫第一页| 99久久精品免费看国产| 26uuu亚洲| 日本女优在线视频一区二区| 色欧美乱欧美15图片| 中文字幕永久在线不卡| 国产乱淫av一区二区三区| 欧美一级高清片| 午夜精品一区二区三区电影天堂 | 韩国v欧美v日本v亚洲v| 欧美自拍丝袜亚洲| 亚洲激情成人在线| jlzzjlzz亚洲日本少妇| 欧美一区二区三区免费视频| 一区二区三区在线视频观看58| 99国产一区二区三精品乱码| 国产欧美日韩在线视频| 国产精品白丝av| 国产亚洲欧洲997久久综合| 国产在线精品国自产拍免费| 精品国精品国产尤物美女|