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

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

?? clientframenew.java

?? 用java編譯的一個qq程序。。。。。。。。
?? JAVA
字號:
package com.chat.client;

import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.net.*;
import java.util.List;


import javax.swing.JButton;
import javax.swing.JColorChooser;

import javax.swing.JDesktopPane;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JScrollPane;
import javax.swing.JTextPane;
import javax.swing.JToolBar;
import javax.swing.text.BadLocationException;
import javax.swing.text.Style;
import javax.swing.text.StyleConstants;
import javax.swing.text.StyleContext;
import javax.swing.text.StyledDocument;



import com.chat.constants.ClientConstants;
import com.chat.dto.MsgDTO;
import com.chat.io.TxtManager;
import com.chat.util.FontDialog;


@SuppressWarnings("serial") 
public class ClientFramenew extends JFrame implements Runnable {
	

	//private DefaultComboBoxModel cbxModel =new DefaultComboBoxModel();


	// private InputStream in;
	// private OutputStream out; 

	private JTextPane txtDownMsg;

	private JTextPane txtUpMsg;
	
	private MsgDTO tempMsgDTO=new MsgDTO();

	private StyledDocument doc;


	
	private MainFramtest Main;

	public static void main(String args[]) {
		try {
			//ClientFramenew frame = new ClientFramenew(args[0],args[1]);
			//frame.setVisible(true);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	/**
	 * Create the frame
	 */
	public ClientFramenew() {
		super();
	}

	public ClientFramenew(String myuserId,String towhomid,MainFramtest mainframe) {
		super();
		
		this.tempMsgDTO.setUserId(myuserId);
		this.tempMsgDTO.setToWhere(towhomid);
		
		Main=mainframe;
		System.out.println(myuserId+"與"+towhomid+"對話");
		
		getContentPane().setLayout(null);
		setTitle("用戶  "+this.tempMsgDTO.getUserId()+"  與用戶: "+this.tempMsgDTO.getToWhere()+" 聊天中");
		setBounds(100, 100, 479, 471);
		//setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

		final JMenuBar menuBar = new JMenuBar();
		setJMenuBar(menuBar);

		final JMenu menu = new JMenu();
		menu.setText("文件(F)");
		menuBar.add(menu);

		final JMenuItem menuItem = new JMenuItem();
		menuItem.setText("Menu Item");
		menu.add(menuItem);

		final JMenu menu_1 = new JMenu();
		menu_1.setText("編輯(E)");
		menuBar.add(menu_1);

		final JMenuItem menuItem_1 = new JMenuItem();
		menuItem_1.setText("Menu Item");
		menu_1.add(menuItem_1);

		final JMenu menu_2 = new JMenu();
		menu_2.setText("動作(V)");
		menuBar.add(menu_2);

		final JMenuItem menuItem_2 = new JMenuItem();
		menuItem_2.setText("Menu Item");
		menu_2.add(menuItem_2);

		final JMenu menu_3 = new JMenu();
		menu_3.setText("設置(T)");
		menuBar.add(menu_3);

		final JMenuItem menuItem_3 = new JMenuItem();
		menuItem_3.setText("Menu Item");
		menu_3.add(menuItem_3);

		final JMenu menu_4 = new JMenu();
		menu_4.setText("幫助(H)");
		menuBar.add(menu_4);

		final JMenuItem btnAbout = new JMenuItem();
		btnAbout.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				//About.main(new String[0]);
			}
		});
		btnAbout.setText("關于...");
		menu_4.add(btnAbout);

		final JDesktopPane desktopPane = new JDesktopPane();
		desktopPane.setBounds(0, 0, 512, 27);
		getContentPane().add(desktopPane);

		final JToolBar toolBar = new JToolBar();
		toolBar.setBounds(0, 0, 502, 27);
		desktopPane.add(toolBar);

		final JButton button = new JButton();
		button.setText("功能1");
		toolBar.add(button);

		toolBar.addSeparator();

		final JButton button_1 = new JButton();
		button_1.setText("功能2");
		toolBar.add(button_1);

		toolBar.addSeparator();

		final JButton button_2 = new JButton();
		toolBar.add(button_2);
		button_2.setText("功能3");

		toolBar.addSeparator();

		final JButton button_3 = new JButton();
		button_3.setText("功能4");
		toolBar.add(button_3);

		toolBar.addSeparator();

		final JButton button_5 = new JButton();
		button_5.setText("功能5");
		toolBar.add(button_5);

	/*	final JButton button_4 = new JButton();
		button_4.setText("New JButton");
		button_4.setBounds(283, 0, 99, 23);
		desktopPane.add(button_4);*/

		final JScrollPane scrollPane = new JScrollPane();
		scrollPane.setBounds(10, 43, 442, 191);
		getContentPane().add(scrollPane);

		txtUpMsg = new JTextPane();
		txtUpMsg.setEditable(false);
		scrollPane.setViewportView(txtUpMsg);

		final JScrollPane scrollPane_1 = new JScrollPane();
		scrollPane_1.setBounds(10, 273, 442, 98);
		getContentPane().add(scrollPane_1);

		txtDownMsg = new JTextPane();
		scrollPane_1.setViewportView(txtDownMsg);

		final JButton btnFont = new JButton();
		btnFont.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				getSelectedFont();
			}
		});
		btnFont.setText("字體");
		btnFont.setBounds(20, 240, 73, 23);
		getContentPane().add(btnFont);

		final JButton btnColor = new JButton();
		btnColor.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				getSelectedColor();
			}
		});
		btnColor.setText("顏色");
		btnColor.setBounds(360, 240, 81, 23);
		getContentPane().add(btnColor);

		final JButton button_8 = new JButton();
		button_8.setText("交談記錄");
		button_8.setBounds(10, 382, 109, 23);
		getContentPane().add(button_8);

		final JButton button_9 = new JButton();
		button_9.setText("消息模式");
		button_9.setBounds(125, 382, 109, 23);
		getContentPane().add(button_9);

		final JButton btnClose = new JButton();
		btnClose.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				//Main.send(new String(ClientConstants.LOGOUT+ClientConstants.LOGIN_SPLIT+tempMsgDTO.getUserId()));
				dispose();
				//System.exit(0);
			}
		});
		btnClose.setText("關閉(C)");
		btnClose.setBounds(281, 382, 81, 23);
		getContentPane().add(btnClose);
		

		final JButton btnSend = new JButton();
		btnSend.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				String content = txtDownMsg.getText();
				if (content.trim().equals(""))
					return;

				
				
				tempMsgDTO.setContent(content);
				//點擊發送時把數據名發送到服務器
				if(Main.send(transferMsgDTO())){
					txtDownMsg.setText("");
					setMessageText(tempMsgDTO);
				}
			}
		});
		btnSend.setText("發送(S)");
		btnSend.setBounds(368, 382, 84, 23);
		getContentPane().add(btnSend);

		final JLabel label = new JLabel();
		label.setText("與 "+towhomid+" 對話");
		label.setBounds(178, 240, 109, 27);
		getContentPane().add(label);

		/*cbxUserId = new JComboBox();
		cbxUserId.addItemListener(new ItemListener() {
			public void itemStateChanged(ItemEvent e) {
				if   (e.getStateChange()   ==   ItemEvent.SELECTED)   {   //這里控制為只處理一次   
					tempMsgDTO.setToWhere(cbxModel.getSelectedItem().toString());
		          }   
			}
		});
		cbxUserId.setBounds(46, 244, 142, 23);
		getContentPane().add(cbxUserId);*/

		// my methods
 
		new Thread(this).start();
		this.setVisible(true);
	}

	

	/*private boolean cbxContains(String item){//!!
		int count=this.cbxModel.getSize();
		for(int i=0;i<count;i++){
			if(this.cbxModel.getElementAt(i).equals(item)){
				return true;
			}
		}
		return false;
	}*/
	@SuppressWarnings("unchecked")
	
	//要重寫
	public void run() {
		while(true){
			try{
				Thread.sleep(500);
			}catch(Exception e){System.out.println(e.getMessage());}
		for(int i=0;i<MainFramtest.ms.size();i++){
			if(MainFramtest.ms.get(i).getUserId().equals(this.tempMsgDTO.getToWhere())){
				setMessageText(MainFramtest.ms.get(i));
				MainFramtest.ms.remove(i);
				
				
			}
				System.out.println("當前鏈表大小"+MainFramtest.ms.size());
				System.out.println("本對話面板的towhere為"+this.tempMsgDTO.getToWhere());
				//System.out.println("當前鏈表項 towhere:"+MainFramtest.ms.get(i).getToWhere()+
						//";\nid:"+MainFramtest.ms.get(i).getUserId());
				System.out.println("本對話面板的towhere yu 當前鏈表項 id");
		}
		}

	}

	private void getSelectedFont() {
		FontDialog dialog = new FontDialog(this, "請選擇一種字體", this.tempMsgDTO
				.getFont(), true);
		dialog.showDialog();
		Font tempFont = null;
		if (FontDialog.DialogResult.Ok == dialog.getDialogResult()) {
			tempFont = dialog.getSelectedFont();
//			System.out.println("選擇的字體是:"+tempFont.toString());
		}
		dialog.Dispose(); 
		if (tempFont != null) {
			this.tempMsgDTO.setFont(tempFont);
		}
	}

	private void getSelectedColor() {
		Color color = JColorChooser.showDialog(this, "請選擇一種顏色", this.tempMsgDTO
				.getColor());
		if (color != null) {
			this.tempMsgDTO.setColor(color);
		}
	}
	private MsgDTO transferMsgDTO(){
		MsgDTO msgDTO=new MsgDTO();
		msgDTO.setUserId(this.tempMsgDTO.getUserId());
		msgDTO.setContent(this.tempMsgDTO.getContent());
		msgDTO.setToWhere(this.tempMsgDTO.getToWhere());
		msgDTO.setFont(this.tempMsgDTO.getFont());
		msgDTO.setColor(this.tempMsgDTO.getColor());
		return msgDTO;
	}
	private void setMessageText(MsgDTO tempMsgDTO) {
		String msg=tempMsgDTO.getUserId()
		+ " 對 "
		+ tempMsgDTO.getToWhere() + " 說: "
		+ tempMsgDTO.getContent() + '\n';
		// StyledDocument doc = txtMsg.getStyledDocument();
		try {
			addStylesToDocument(tempMsgDTO);
			doc.insertString(doc.getLength(),msg, doc.getStyle("style1"));
		} catch (BadLocationException e) {
			e.printStackTrace();
		}
		// 讓文本框的焦點始終在最下面
		txtUpMsg.setCaretPosition(doc.getLength());
	}// 初始化10種顏色的字體
	private void addStylesToDocument(MsgDTO tempMsgDTO) {
		doc = txtUpMsg.getStyledDocument();
		StyledDocument doc = txtUpMsg.getStyledDocument();
		// 試試簡單方法
		Style def = StyleContext.getDefaultStyleContext().getStyle(
				StyleContext.DEFAULT_STYLE);
		Font tempFont=tempMsgDTO.getFont();
		Style tempStyle=doc.addStyle("style1", def);
		StyleConstants.setBold(tempStyle,tempFont.isBold());
		StyleConstants.setFontSize(tempStyle, tempFont.getSize());
		StyleConstants.setItalic(tempStyle,tempFont.isItalic());
		StyleConstants.setForeground(tempStyle,tempMsgDTO.getColor());
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产视频一区二区在线| 亚洲成人777| 精品日韩一区二区三区免费视频| 成人激情视频网站| 国产九色sp调教91| 国产精品18久久久久久久久久久久 | 国内精品国产三级国产a久久| 亚洲.国产.中文慕字在线| 亚洲福利视频一区| 亚洲成人中文在线| 亚洲成人综合网站| 久久99精品久久久久| 久久精品久久精品| 国产精品一区二区在线观看不卡| 国产成人亚洲精品狼色在线| 成人免费电影视频| 色国产精品一区在线观看| 欧美影视一区在线| 欧美丰满少妇xxxxx高潮对白| 日韩一级高清毛片| 国产视频一区二区三区在线观看| 国产日韩精品一区二区浪潮av | 欧美一级理论片| 欧美一区二区三区系列电影| 精品久久免费看| 中文字幕一区二区三区色视频 | 日本免费新一区视频| 久久精品国产77777蜜臀| 久久疯狂做爰流白浆xx| 国产成人免费在线观看| 97久久超碰国产精品电影| 欧美美女直播网站| 国产色产综合产在线视频| 曰韩精品一区二区| 国产尤物一区二区| 91老师国产黑色丝袜在线| 日韩小视频在线观看专区| 欧美国产精品中文字幕| 亚洲福利一二三区| 成人午夜激情影院| 欧美一区日韩一区| 亚洲欧美日韩在线播放| 免费观看在线综合色| 成人av电影免费在线播放| 欧美剧情片在线观看| 日本一区二区三区四区| 日韩精品成人一区二区三区 | 亚洲免费毛片网站| 极品少妇一区二区| 精品污污网站免费看| 欧美激情一区不卡| 美女视频黄频大全不卡视频在线播放 | 亚洲精品你懂的| 国产精品亚洲第一| 日韩精品一区二区三区四区视频| 久久精品国产精品亚洲精品| 成人禁用看黄a在线| 日韩精品中文字幕一区二区三区| 自拍偷拍国产精品| 国产高清亚洲一区| 日韩欧美亚洲一区二区| 夜夜嗨av一区二区三区网页 | 精品成人a区在线观看| 国产精品久久精品日日| 国产精品亚洲专一区二区三区| 欧美一区二区在线看| 亚洲一区自拍偷拍| 99视频热这里只有精品免费| 亚洲精品欧美综合四区| 91老师国产黑色丝袜在线| 国产精品对白交换视频| 成人在线一区二区三区| 国产日韩综合av| 国产一区二区精品在线观看| 精品卡一卡二卡三卡四在线| 日韩成人免费在线| 日韩一区二区麻豆国产| 天堂在线一区二区| 717成人午夜免费福利电影| 亚洲综合色网站| 在线观看一区二区视频| 一区二区三区色| 91国产成人在线| 亚洲一区二区视频| 在线观看欧美精品| 亚洲综合色成人| 在线免费观看日本一区| 亚洲一本大道在线| 欧美无砖专区一中文字| 亚洲线精品一区二区三区| 欧美精品乱码久久久久久按摩| 亚洲欧美日韩国产手机在线 | 亚洲一区成人在线| 在线播放/欧美激情| 蜜桃av一区二区| 国产日产亚洲精品系列| 91在线视频18| 婷婷综合另类小说色区| 日韩色视频在线观看| 国产永久精品大片wwwapp| 久久久精品日韩欧美| 国产一区二区在线观看视频| 欧美激情综合五月色丁香小说| 99热这里都是精品| 三级成人在线视频| 欧美韩国日本综合| 精品污污网站免费看| 国产一区二区三区免费观看| 中文字幕五月欧美| 欧美巨大另类极品videosbest| 久久99精品一区二区三区三区| 国产精品毛片大码女人| 欧美在线视频你懂得| 狠狠色丁香婷婷综合| 亚洲精品日产精品乱码不卡| 亚洲精品一区二区在线观看| 91免费版在线| 国产在线一区二区| 亚洲成人动漫一区| 国产精品网曝门| 精品三级在线看| 欧美在线看片a免费观看| 国产精品自在欧美一区| 亚洲va中文字幕| 国产精品乱码一区二三区小蝌蚪| 欧美日韩高清一区二区不卡| 成人网男人的天堂| 蜜桃av一区二区三区| 一区二区三区精品| 国产喷白浆一区二区三区| 欧美日韩视频一区二区| 国产ts人妖一区二区| 一区二区三区资源| 欧美激情一区二区| 91精品国产色综合久久不卡蜜臀| 成人毛片视频在线观看| 黄网站免费久久| 奇米精品一区二区三区在线观看| 亚洲精品v日韩精品| 中文字幕av一区二区三区| 久久人人爽爽爽人久久久| 欧美一区二区日韩| 91精品婷婷国产综合久久竹菊| 一本大道久久a久久综合婷婷| 国产成人精品免费视频网站| 久草在线在线精品观看| 欧美a一区二区| 免费看欧美女人艹b| 午夜激情久久久| 午夜天堂影视香蕉久久| 亚洲a一区二区| 午夜欧美大尺度福利影院在线看 | 欧美精品三级日韩久久| 日本精品一区二区三区高清| 色综合久久久久久久久久久| 91丝袜美腿高跟国产极品老师 | 美女国产一区二区三区| 视频在线观看91| 美国av一区二区| 韩国三级中文字幕hd久久精品| 国产在线视频一区二区三区| 国产成人精品三级| 成人午夜看片网址| 色综合久久久久久久久| 欧美午夜电影一区| 欧美美女一区二区| 欧美精品一区二区久久久| 2023国产一二三区日本精品2022| 欧美成人三级电影在线| 久久久99精品免费观看| 国产精品久久久久久久久免费桃花| 国产精品妹子av| 一区二区三区免费在线观看| 日韩精彩视频在线观看| 国产在线精品国自产拍免费| 大胆欧美人体老妇| 欧美午夜影院一区| 日韩午夜电影av| 中文字幕精品一区二区三区精品| 国产精品动漫网站| 调教+趴+乳夹+国产+精品| 九九精品视频在线看| 高清不卡一二三区| 欧美日精品一区视频| 亚洲精品一线二线三线| 亚洲欧美日韩国产另类专区| 天天综合日日夜夜精品| 国产在线播放一区三区四| 国产91精品一区二区麻豆网站| 成人97人人超碰人人99| 欧美视频一区二区在线观看| 久久亚洲一区二区三区明星换脸| 国产精品久久久久久久久晋中| 亚洲国产精品久久艾草纯爱 | 2024国产精品| 亚洲成av人综合在线观看| 久久超级碰视频| 色综合婷婷久久| 日韩一区二区三区在线观看| 中文一区一区三区高中清不卡|