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

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

?? talkinterface.java

?? 這是一個使用Java編寫的像QQ一樣的即時通訊軟件
?? JAVA
字號:
package client;

import java.awt.Color;
import java.awt.Component;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.WindowFocusListener;
import java.io.DataOutputStream;
import java.io.IOException;
import java.text.DateFormat;
import java.util.Date;
import java.util.Vector;
import javax.swing.JButton;
import javax.swing.JEditorPane;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JSplitPane;
import javax.swing.JTextPane;
import javax.swing.ListCellRenderer;
import javax.swing.ListSelectionModel;
import javax.swing.ScrollPaneConstants;
import javax.swing.SwingConstants;
import javax.swing.WindowConstants;
import javax.swing.border.EmptyBorder;

import com.jgoodies.forms.layout.CellConstraints;
import com.jgoodies.forms.layout.FormLayout;

public class TalkInterface extends JFrame {

    public DataOutputStream sendToServer;

    public JList list;

    public Integer talkingNumber;

    public JTextPane textPane;

    public TalkInterface talkInterface;

    public Vector<Integer> talkingFriends;

    public Integer inviterNumber;

    public Integer groupTalkInterfaceId;

    private static final long serialVersionUID = -5066272190141389129L;

    /**
     * Create the frame
     */
    public TalkInterface(final DataOutputStream sendToServer) {

	super();


	addWindowFocusListener(new WindowFocusListener() {
	    public void windowGainedFocus(final WindowEvent e) {

		talkInterface.setAlwaysOnTop(false);
	    }

	    public void windowLostFocus(final WindowEvent e) {
	    }
	});

	setResizable(false);

	this.sendToServer = sendToServer;

	talkingFriends = new Vector<Integer>();

	addWindowListener(new WindowAdapter() {
	    public void windowClosed(final WindowEvent e) {

		if (talkInterface.getTitle().equals("你在與多人聊天")) {
		    Client.grouptalkInterfaces.remove(groupTalkInterfaceId);
		    Client.groupTalkInterfaceIds.remove(groupTalkInterfaceId);
		    Client.tempGroupTalkInterfaceIds.add(groupTalkInterfaceId);
		    Client.mapGrouptalkInterfaces
		    .remove(talkInterface.groupTalkInterfaceId);
		} else {
		    Client.talkInterfaces.remove(talkingNumber);
		}

	    }
	});

	talkInterface = this;

	getContentPane().setLayout(
		new FormLayout("396px:grow(1.0)", "fill:313px:grow(1.0)"));

	setBounds(100, 100, 509, 375);
	setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);

	final JSplitPane splitPane_1 = new JSplitPane();
	splitPane_1.setAutoscrolls(true);
	splitPane_1.setContinuousLayout(true);
	splitPane_1.setOneTouchExpandable(true);
	getContentPane().add(splitPane_1, new CellConstraints());

	final JPanel panel_1 = new JPanel();
	panel_1.setLayout(new FormLayout("399px:grow(1.0)",
	"fill:189dlu:grow(1.0), fill:31px"));
	panel_1.setAutoscrolls(true);
	splitPane_1.setLeftComponent(panel_1);

	final JSplitPane splitPane = new JSplitPane();
	splitPane.setDividerSize(2);
	splitPane.setName("splitPane");
	panel_1.add(splitPane, new CellConstraints("1, 1, fill, fill"));
	splitPane.setBorder(new EmptyBorder(0, 0, 0, 0));
	splitPane.setAutoscrolls(true);
	splitPane.setContinuousLayout(true);
	splitPane.setDividerLocation(234);
	splitPane.setOrientation(JSplitPane.VERTICAL_SPLIT);

	final JScrollPane scrollPane = new JScrollPane();
	splitPane.setLeftComponent(scrollPane);

	textPane = new JTextPane();
	scrollPane.setViewportView(textPane);
	textPane.setEditable(false);
	textPane.setDragEnabled(true);

	final JScrollPane scrollPane_1 = new JScrollPane();
	scrollPane_1
	.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
	splitPane.setRightComponent(scrollPane_1);

	final JEditorPane editorPane = new JEditorPane();
	editorPane.setFont(new Font("", Font.PLAIN, 14));
	scrollPane_1.setViewportView(editorPane);

	final JPanel panel = new JPanel();
	panel
	.setLayout(new FormLayout(
		"default:grow(1.0), 45dlu, 63px, 25dlu, 43dlu, left:17dlu, 63px:grow(1.0)",
	"default:grow(1.0)"));
	panel.setBackground(new Color(159, 167, 236));
	panel_1.add(panel, new CellConstraints(1, 2, CellConstraints.FILL,
		CellConstraints.FILL));

	final JButton button = new JButton();

	panel.add(button, new CellConstraints("3, 1, 1, 1, fill, center"));
	button.setText("發(fā) 送");
	button.addMouseListener(new MouseAdapter() {

	    public void mouseClicked(MouseEvent arg0) {

		if (editorPane.getText().equals("")) {

		    JOptionPane.showMessageDialog(talkInterface, "不能發(fā)送空信息",
			    "QQ", JOptionPane.ERROR_MESSAGE);

		    return;
		}

		if (!editorPane.getText().equals("")){

		    try {
			
			textPane.setText(textPane.getText()
				+ Client.goodFriends.get(Client.number) + " "+DateFormat.getInstance().format(new Date())+"說:\n"
				+ editorPane.getText() + "\n");

		    } catch (Exception e) {

			e.printStackTrace();
		    }

		}

		textPane.setSelectionStart(textPane.getText().length());

		if (talkingFriends.size() == 1) {

		    try {

			sendToServer.writeUTF("Speakto@"

				+ talkingFriends.get(0) + "@" + Client.number + "@ "
				+ DateFormat.getInstance().format(new Date())+" 說:\n"+editorPane.getText());

		    } catch (IOException e) {

			e.printStackTrace();
		    }

		} else if (talkingFriends.size() > 1) {

		    for (int i = 0; i < talkingFriends.size(); i++) {
			try {
			    sendToServer.writeUTF("GroupMesseng@"

				    + talkingFriends.get(i) + "@"
				    + Client.number + "@"
				    + talkInterface.inviterNumber + "@"
				    + DateFormat.getInstance().format(new Date())+" 說:\n"+ editorPane.getText());

			} catch (IOException e) {

			    e.printStackTrace();
			}
		    }

		}

		editorPane.setText("");
	    }
	});

	final JButton button_1 = new JButton();
	button_1.addActionListener(new ActionListener() {
	    public void actionPerformed(final ActionEvent e) {

		if (talkInterface.getTitle().equals("你在與多人聊天")) {
		    Client.grouptalkInterfaces.remove(groupTalkInterfaceId);
		    Client.groupTalkInterfaceIds.remove(groupTalkInterfaceId);
		    Client.tempGroupTalkInterfaceIds.add(groupTalkInterfaceId);
		} else {
		    Client.talkInterfaces.remove(talkingNumber);
		}
		talkInterface.dispose();
	    }
	});

	panel.add(button_1, new CellConstraints("5, 1, 1, 1, center, center"));
	button_1.setText("關(guān) 閉");

	final JPanel rightPanel = new JPanel();
	rightPanel
	.setLayout(new FormLayout(
		"96px:grow(1.0)",
	"8dlu, fill:16dlu, fill:16dlu, 17dlu, 18dlu, 17dlu, fill:38dlu, 14dlu, fill:17px:grow(1.0)"));
	splitPane_1.setRightComponent(rightPanel);

	final JScrollPane friendsScrollPane = new JScrollPane();
	friendsScrollPane
	.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
	rightPanel.add(friendsScrollPane, new CellConstraints(
		"1, 9, 1, 1, fill, fill"));
	friendsScrollPane.setBorder(new EmptyBorder(0, 0, 0, 0));

	MyCellRenderer myCellRenderer = new MyCellRenderer();
	list = new JList();
	list.setCellRenderer(myCellRenderer);
	list.setVisibleRowCount(1);
	list.setDragEnabled(true);

	list.setFont(new Font("宋體", Font.PLAIN, 12));
	list.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
	list.setValueIsAdjusting(true);
	friendsScrollPane.setViewportView(list);

	final JLabel label = new JLabel();
	label.addMouseListener(new MouseAdapter() {
	    public void mouseClicked(final MouseEvent e) {

		AddTalkingFriends addTalkingFriends = new AddTalkingFriends(
			talkInterface);

		Object[] keyArray = Client.goodFriends.keySet().toArray();
		Vector<String> friends = new Vector<String>();

		for (int i = keyArray.length - 1; i >= 0; i--) {

		    if (!((Integer) keyArray[i]).equals(Client.number))
			friends.add(keyArray[i] + "@"
				+ Client.goodFriends.get(keyArray[i]));
		}

		addTalkingFriends.goodFriendsList.setListData(friends);

		Vector<String> talking = new Vector<String>();
		for (int i = 0; i < talkingFriends.size(); i++) {

		    talking.add(talkingFriends.get(i) + "@"
			    + Client.goodFriends.get(talkingFriends.get(i)));
		}

		addTalkingFriends.talkingFriendsList.setListData(talking);
		addTalkingFriends.repaint();
		addTalkingFriends.setVisible(true);
	    }
	});
	label.setForeground(new Color(71, 99, 150));
	label.setFont(new Font("宋體", Font.PLAIN, 12));
	label.setText("添加聊天者");
	rightPanel.add(label, new CellConstraints(1, 3, CellConstraints.CENTER,
		CellConstraints.FILL));

	final JLabel label_2 = new JLabel();
	rightPanel.add(label_2, new CellConstraints(1, 7, CellConstraints.FILL,
		CellConstraints.FILL));

	final JLabel label_3 = new JLabel();
	label_3.setVerticalAlignment(SwingConstants.BOTTOM);
	label_3.setVerticalTextPosition(SwingConstants.BOTTOM);
	label_3.setOpaque(true);
	label_3.setBackground(new Color(128, 128, 255));
	label_3.setForeground(new Color(255, 255, 255));
	label_3.setText(" 和你聊天的同事");
	rightPanel.add(label_3, new CellConstraints(1, 8, CellConstraints.FILL,
		CellConstraints.FILL));

	final JScrollPane scrollPane_2 = new JScrollPane();
	scrollPane_2.setBorder(new EmptyBorder(0, 0, 0, 0));

    }

    class MyCellRenderer extends JLabel implements ListCellRenderer {

	/**
	 * 
	 */
	private static final long serialVersionUID = 8668388946915381179L;

	public Component getListCellRendererComponent(JList list, Object value,
		int index, // cell index
		boolean isSelected, // is the cell selected
		boolean cellHasFocus) // the list and the cell have the focus
	{
	    String s = value.toString();

	    setText(s.substring(s.indexOf("@") + 1));

	    setName(s.substring(0, s.indexOf("@") - 1));

	    if (isSelected) {
		setBackground(list.getSelectionBackground());
		setForeground(list.getSelectionForeground());
	    } else {
		setBackground(list.getBackground());
		setForeground(list.getForeground());
	    }

	    setEnabled(list.isEnabled());
	    setFont(list.getFont());
	    setOpaque(true);

	    return this;
	}

    }
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲免费在线视频| 中文一区一区三区高中清不卡| 一区二区三区四区在线播放| 99视频有精品| 一区二区在线看| 欧美日韩久久久久久| 婷婷综合在线观看| 精品99一区二区| 成人av网站免费| 亚洲精品国产第一综合99久久| 在线观看不卡一区| 日本午夜一区二区| 国产日韩成人精品| 欧美中文字幕一区二区三区| 日韩国产高清影视| 欧美精品一区二区三区高清aⅴ | 日韩欧美在线一区二区三区| 美女网站视频久久| 亚洲欧洲精品一区二区三区不卡| 91国产免费看| 精品一区二区三区免费视频| 日韩一区欧美小说| 69成人精品免费视频| 国产大陆精品国产| 亚洲成人一区二区在线观看| 久久久久久久精| 在线亚洲高清视频| 久久99久久99| 一区二区三区国产精华| 精品福利视频一区二区三区| 91丨porny丨国产| 激情偷乱视频一区二区三区| 亚洲欧美日韩国产另类专区| 精品理论电影在线| 色婷婷亚洲婷婷| 国产福利一区二区三区视频| 亚洲午夜电影在线观看| 中文字幕乱码亚洲精品一区| 91精品国产综合久久精品app| 成人中文字幕电影| 麻豆精品蜜桃视频网站| 亚洲乱码国产乱码精品精小说| www国产成人| 欧美视频一区二区三区| 成人精品免费看| 久草在线在线精品观看| 亚洲第一主播视频| 亚洲欧美自拍偷拍色图| www日韩大片| 91精品国产综合久久久久久漫画 | 在线视频你懂得一区| 国产激情一区二区三区| 日韩精品电影一区亚洲| 亚洲黄色性网站| 国产精品三级av在线播放| 欧美成va人片在线观看| 欧美吻胸吃奶大尺度电影 | 夜夜精品视频一区二区| 国产精品私人自拍| 久久久亚洲高清| 欧美mv日韩mv亚洲| 在线播放91灌醉迷j高跟美女| av毛片久久久久**hd| 国产成人精品三级| 韩日精品视频一区| 久久99精品国产91久久来源| 青青草97国产精品免费观看无弹窗版 | 午夜精品一区二区三区三上悠亚| 亚洲伦理在线免费看| 亚洲特级片在线| 国产精品国产三级国产普通话三级 | 国产精品国产三级国产普通话蜜臀 | 在线91免费看| 欧美精品久久一区| 欧美挠脚心视频网站| 欧美剧情电影在线观看完整版免费励志电影 | 日韩精品亚洲一区二区三区免费| 亚洲一区二区三区精品在线| 亚洲蜜桃精久久久久久久| 亚洲色图19p| 亚洲最色的网站| 亚洲午夜电影网| 天天影视涩香欲综合网| 美国欧美日韩国产在线播放| 日本一区中文字幕| 久久99国产精品麻豆| 久久精品国产秦先生| 精品在线观看视频| 国产福利不卡视频| 99久久99久久精品国产片果冻| 99在线精品免费| 欧美日韩精品久久久| 日韩欧美国产电影| 国产精品免费看片| 亚洲一本大道在线| 麻豆成人av在线| 国产不卡视频一区| 色一区在线观看| 91麻豆精品国产91久久久使用方法| 欧美一区二区大片| 国产亚洲精品福利| 亚洲精品写真福利| 日韩国产高清影视| 丰满少妇在线播放bd日韩电影| www.欧美色图| 欧美精品九九99久久| 久久亚洲综合av| 亚洲欧美一区二区不卡| 天天综合日日夜夜精品| 国产成人午夜电影网| 欧洲另类一二三四区| 精品三级在线看| 亚洲三级在线免费| 卡一卡二国产精品 | 欧美乱熟臀69xxxxxx| 久久久不卡影院| 亚洲高清视频中文字幕| 精品一区二区三区免费观看| 91猫先生在线| 精品国产免费一区二区三区四区 | 亚洲国产美国国产综合一区二区| 久久精品99久久久| 97久久精品人人澡人人爽| 制服视频三区第一页精品| 国产精品每日更新| 日本sm残虐另类| 色噜噜狠狠色综合中国| 337p粉嫩大胆噜噜噜噜噜91av| 亚洲少妇30p| 国产麻豆日韩欧美久久| 欧美在线观看一二区| 久久精品一区四区| 美女在线视频一区| 欧美综合久久久| 欧美国产日韩a欧美在线观看 | 欧美日韩在线播放一区| 国产女主播一区| 精品一区二区av| 在线不卡一区二区| 亚洲精品一卡二卡| 北条麻妃一区二区三区| 精品国产露脸精彩对白| 视频一区二区中文字幕| 日本丰满少妇一区二区三区| 中文一区一区三区高中清不卡| 精品在线免费视频| 欧美一级二级在线观看| 亚洲图片欧美视频| 一本一道波多野结衣一区二区 | 欧美第一区第二区| 日韩极品在线观看| 在线视频你懂得一区| 亚洲蜜臀av乱码久久精品 | 亚洲第四色夜色| 色香色香欲天天天影视综合网| 国产欧美一区二区三区在线老狼| 蜜桃精品在线观看| 欧美一区中文字幕| 亚洲成av人综合在线观看| 欧美少妇xxx| 亚洲高清免费一级二级三级| 欧美自拍丝袜亚洲| 亚洲制服丝袜一区| 欧美视频中文字幕| 亚洲黄色免费网站| 在线精品视频免费观看| 自拍偷拍亚洲激情| 色婷婷亚洲精品| 亚洲电影一级片| 欧美日韩精品电影| 日韩电影在线一区二区三区| 欧美一区二区三区日韩| 免费人成在线不卡| 久久午夜电影网| 粉嫩一区二区三区性色av| 国产精品久久毛片| 色婷婷亚洲一区二区三区| 亚洲午夜久久久久中文字幕久| 欧美日韩不卡一区二区| 美女被吸乳得到大胸91| 久久免费午夜影院| aaa欧美色吧激情视频| 亚洲激情在线播放| 91精品欧美久久久久久动漫| 麻豆久久一区二区| 国产免费成人在线视频| 色婷婷激情一区二区三区| 午夜久久久久久电影| 精品欧美一区二区三区精品久久| 国产一区二区剧情av在线| 国产精品狼人久久影院观看方式| 色一情一乱一乱一91av| 日本免费在线视频不卡一不卡二| 久久影院视频免费| 91在线云播放| 婷婷开心激情综合| 久久精品人人做人人综合| 一本色道综合亚洲| 免费成人在线视频观看| 久久久久9999亚洲精品|