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

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

?? serverframe.java

?? JAVA聊天程序
?? JAVA
字號:
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.FileOutputStream;

import javax.swing.*;

//////////*服務器窗口類*///////////////
public class ServerFrame extends JFrame implements ActionListener {
	public  JList list;
	/**
	 * 
	 */
	private static final long serialVersionUID = -8936397327038098620L;

	// 服務器信息面板
	JPanel pnlServer, pnlServerInfo;

	JLabel lblStatus, lblNumber, lblMax, lblServerName, lblProtocol, lblIP,
			lblPort, lblLog;

	public JTextField txtStatus, txtNumber, txtMax, txtServerName, txtProtocol, txtIP,
			txtPort;

	JButton btnStop, btnSaveLog;

	public TextArea taLog;

	JTabbedPane tpServer;

	public TextArea taMessage;

	// 用戶信息面板
	JPanel pnlUser;

	public JLabel lblMessage, lblUser, lblNotice, lblUserCount;

	JList lstUser;

	JScrollPane spUser;

	JTextField txtNotice;

	JButton btnSend, btnKick;
	
	public String ti = "";
	
	public String serverMessage ="";

	public ServerFrame() {
		// 服務器窗口
		super("[HappyChat]聊天服務器");
		setSize(550, 500);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setResizable(false);
		Dimension scr = Toolkit.getDefaultToolkit().getScreenSize();// 在屏幕居中顯示
		Dimension fra = this.getSize();
		if (fra.width > scr.width) {
			fra.width = scr.width;
		}
		if (fra.height > scr.height) {
			fra.height = scr.height;
		}
		this.setLocation((scr.width - fra.width) / 2,
				(scr.height - fra.height) / 2);

		// ==========服務器信息面板=========================
		pnlServer = new JPanel();
		pnlServer.setLayout(null);
		pnlServer.setBackground(new Color(52, 130, 203));

		pnlServerInfo = new JPanel(new GridLayout(14, 1));
		pnlServerInfo.setBackground(new Color(52, 130, 203));
		pnlServerInfo.setFont(new Font("宋體", 0, 12));
		pnlServerInfo.setBorder(BorderFactory.createCompoundBorder(
				BorderFactory.createTitledBorder(""), BorderFactory
						.createEmptyBorder(1, 1, 1, 1)));

		lblStatus = new JLabel("當前狀態:");
		lblStatus.setForeground(Color.YELLOW);
		lblStatus.setFont(new Font("宋體", 0, 12));
		txtStatus = new JTextField(10);
		txtStatus.setBackground(Color.decode("#d6f4f2"));
		txtStatus.setFont(new Font("宋體", 0, 12));
		txtStatus.setEditable(false);

		lblNumber = new JLabel("當前在線人數:");
		lblNumber.setForeground(Color.YELLOW);
		lblNumber.setFont(new Font("宋體", 0, 12));
		txtNumber = new JTextField("0 人", 10);
		txtNumber.setBackground(Color.decode("#d6f4f2"));
		txtNumber.setFont(new Font("宋體", 0, 12));
		txtNumber.setEditable(false);

		lblMax = new JLabel("最多在線人數:");
		lblMax.setForeground(Color.YELLOW);
		lblMax.setFont(new Font("宋體", 0, 12));
		txtMax = new JTextField("50 人", 10);
		txtMax.setBackground(Color.decode("#d6f4f2"));
		txtMax.setFont(new Font("宋體", 0, 12));
		txtMax.setEditable(false);

		lblServerName = new JLabel("服務器名稱:");
		lblServerName.setForeground(Color.YELLOW);
		lblServerName.setFont(new Font("宋體", 0, 12));
		txtServerName = new JTextField(10);
		txtServerName.setBackground(Color.decode("#d6f4f2"));
		txtServerName.setFont(new Font("宋體", 0, 12));
		txtServerName.setEditable(false);

		lblProtocol = new JLabel("訪問協議:");
		lblProtocol.setForeground(Color.YELLOW);
		lblProtocol.setFont(new Font("宋體", 0, 12));
		txtProtocol = new JTextField("HTTP", 10);
		txtProtocol.setBackground(Color.decode("#d6f4f2"));
		txtProtocol.setFont(new Font("宋體", 0, 12));
		txtProtocol.setEditable(false);

		lblIP = new JLabel("服務器IP:");
		lblIP.setForeground(Color.YELLOW);
		lblIP.setFont(new Font("宋體", 0, 12));
		txtIP = new JTextField(10);
		txtIP.setBackground(Color.decode("#d6f4f2"));
		txtIP.setFont(new Font("宋體", 0, 12));
		txtIP.setEditable(false);

		lblPort = new JLabel("服務器端口:");
		lblPort.setForeground(Color.YELLOW);
		lblPort.setFont(new Font("宋體", 0, 12));
		txtPort = new JTextField("8000", 10);
		txtPort.setBackground(Color.decode("#d6f4f2"));
		txtPort.setFont(new Font("宋體", 0, 12));
		txtPort.setEditable(false);

		btnStop = new JButton("關閉服務器(C)");
		btnStop.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				closeServer();
			}
		});
		btnStop.setBackground(Color.ORANGE);
		btnStop.setFont(new Font("宋體", 0, 12));

		lblLog = new JLabel("[服務器日志]");
		lblLog.setForeground(Color.YELLOW);
		lblLog.setFont(new Font("宋體", 0, 12));

		taLog = new TextArea(20, 50);
		taLog.setFont(new Font("宋體", 0, 12));
		btnSaveLog = new JButton("保存日志(S)");
		btnSaveLog.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				saveLog();
			}
		});
		btnSaveLog.setBackground(Color.ORANGE);
		btnSaveLog.setFont(new Font("宋體", 0, 12));

		pnlServerInfo.add(lblStatus);
		pnlServerInfo.add(txtStatus);
		pnlServerInfo.add(lblNumber);
		pnlServerInfo.add(txtNumber);
		pnlServerInfo.add(lblMax);
		pnlServerInfo.add(txtMax);
		pnlServerInfo.add(lblServerName);
		pnlServerInfo.add(txtServerName);
		pnlServerInfo.add(lblProtocol);
		pnlServerInfo.add(txtProtocol);
		pnlServerInfo.add(lblIP);
		pnlServerInfo.add(txtIP);
		pnlServerInfo.add(lblPort);
		pnlServerInfo.add(txtPort);

		pnlServerInfo.setBounds(5, 5, 100, 400);
		lblLog.setBounds(110, 5, 100, 30);
		taLog.setBounds(110, 35, 400, 370);
		btnStop.setBounds(200, 410, 120, 30);
		btnSaveLog.setBounds(320, 410, 120, 30);
		pnlServer.add(pnlServerInfo);
		pnlServer.add(lblLog);
		pnlServer.add(taLog);
		pnlServer.add(btnStop);
		pnlServer.add(btnSaveLog);
		// ===========在線用戶面板====================
		pnlUser = new JPanel();
		pnlUser.setLayout(null);
		pnlUser.setBackground(new Color(52, 130, 203));
		pnlUser.setFont(new Font("宋體", 0, 12));
		lblMessage = new JLabel("[用戶消息]");
		lblMessage.setFont(new Font("宋體", 0, 12));
		lblMessage.setForeground(Color.YELLOW);
		taMessage = new TextArea(20, 20);
		taMessage.setFont(new Font("宋體", 0, 12));
		lblNotice = new JLabel("通知:");
		lblNotice.setFont(new Font("宋體", 0, 12));
		txtNotice = new JTextField(20);
		txtNotice.setFont(new Font("宋體", 0, 12));
		btnSend = new JButton("發送(S)");
		btnSend.setBackground(Color.ORANGE);
		btnSend.setFont(new Font("宋體", 0, 12));
		btnSend.setEnabled(true);
		btnSend.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				serverMessage();
			}
		});

		lblUserCount = new JLabel("在線總人數 0 人");
		lblUserCount.setFont(new Font("宋體", 0, 12));

		btnKick = new JButton("踢人(K)");
		btnKick.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				tiRen();
			}
		});
		btnKick.setBackground(Color.ORANGE);
		btnKick.setFont(new Font("宋體", 0, 12));
		lblUser = new JLabel("[在線用戶列表]");
		lblUser.setFont(new Font("宋體", 0, 12));
		lblUser.setForeground(Color.YELLOW);

		lstUser = new JList();
		lstUser.setFont(new Font("宋體", 0, 12));
		lstUser.setVisibleRowCount(17);
		lstUser.setFixedCellWidth(180);
		lstUser.setFixedCellHeight(18);
		// lstUser.setListData(listVector);

		spUser = new JScrollPane();
		spUser.setBackground(Color.decode("#d6f4f2"));
		spUser.setFont(new Font("宋體", 0, 12));
		// spUser.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
		spUser
				.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
		spUser.getViewport().setView(lstUser);

		lblMessage.setBounds(5, 5, 100, 25);
		taMessage.setBounds(5, 35, 300, 360);
		lblUser.setBounds(310, 5, 100, 25);
		spUser.setBounds(310, 35, 220, 360);
		lblNotice.setBounds(5, 410, 40, 25);
		txtNotice.setBounds(50, 410, 160, 25);
		btnSend.setBounds(210, 410, 80, 25);
		lblUserCount.setBounds(320, 410, 100, 25);
		btnKick.setBounds(440, 410, 80, 25);

		pnlUser.add(lblMessage);
		pnlUser.add(taMessage);
		pnlUser.add(lblUser);
		pnlUser.add(spUser);

		list = new JList();
		list.setListData(new String[] { "" });
		//list.setModel(null);
		//.setListData(null);
		spUser.setViewportView(list);
		//list.setListData(null);
		pnlUser.add(lblNotice);
		pnlUser.add(txtNotice);
		pnlUser.add(btnSend);
		pnlUser.add(lblUserCount);
		pnlUser.add(btnKick);

		// ============主標簽面板========================

		tpServer = new JTabbedPane(JTabbedPane.TOP);
		tpServer.setBackground(Color.decode("#d6f4f2"));
		tpServer.setFont(new Font("宋體", 0, 12));
		tpServer.add("服務器管理", pnlServer);
		tpServer.add("用戶信息管理", pnlUser);
		this.getContentPane().add(tpServer);
		setVisible(true);
	}

	protected void serverMessage() {
		// TODO 自動生成方法存根
		this.serverMessage = txtNotice.getText();
		txtNotice.setText("");
	}

	protected void closeServer() {
		// TODO 自動生成方法存根
		this.dispose();
		//this.res
	}

	protected void saveLog() {
		// TODO 自動生成方法存根
		try {
			FileOutputStream fileoutput = new FileOutputStream("log.txt",
					true);
			String temp = taMessage.getText();
			//System.out.println(temp);
			fileoutput.write(temp.getBytes());
			fileoutput.close();
			JOptionPane.showMessageDialog(null, "記錄保存在log.txt");
		} catch (Exception e) {
			System.out.println(e);
		}
	}

	protected void tiRen() {
		// TODO 自動生成方法存根
//		System.out.println("Ti:"+list.getSelectedValue().toString());
		ti = list.getSelectedValue().toString();
		log("Ti:"+ti);
	}

	private void log(String string) {
		// TODO 自動生成方法存根
		String newta = taMessage.getText();
		newta += ("\n"+string);
		taMessage.setText(newta);
	}

	public void actionPerformed(ActionEvent evt) {

	}

	public static void main(String args[]) {
		new ServerFrame();
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩激情一区二区| 日韩免费一区二区三区在线播放| 亚洲五码中文字幕| 久久久青草青青国产亚洲免观| 色悠悠久久综合| 国产福利一区在线| 日韩高清一级片| 一区二区三区在线观看欧美| 久久久蜜臀国产一区二区| 欧美熟乱第一页| 99久久99精品久久久久久 | 国产精品天天看| 欧美日产国产精品| 91片在线免费观看| 国产一区二区三区四区五区入口 | 欧美一区二区三区视频在线| av电影在线观看一区| 国内成人免费视频| 五月天久久比比资源色| 国产精品视频免费| 久久久99精品久久| 欧美v亚洲v综合ⅴ国产v| 欧美丝袜自拍制服另类| 国产美女精品人人做人人爽 | 色婷婷av一区二区| 国产成人自拍在线| 国产一区在线看| 精品一区二区综合| 久久99热这里只有精品| 首页亚洲欧美制服丝腿| 亚洲成精国产精品女| 亚洲影院在线观看| 亚洲午夜精品网| 一区二区高清免费观看影视大全| 国产欧美一区二区精品忘忧草| 精品蜜桃在线看| 亚洲精品一区二区在线观看| 日韩欧美中文字幕制服| 日韩精品最新网址| ww久久中文字幕| 久久久精品综合| 国产蜜臀97一区二区三区 | 一区二区三区在线高清| 樱花草国产18久久久久| 亚洲综合一区在线| 肉色丝袜一区二区| 美女视频免费一区| 国产综合一区二区| 成人精品视频一区| 色欧美乱欧美15图片| 欧美最猛性xxxxx直播| 欧美日韩国产123区| 欧美日韩激情一区| 日韩三级中文字幕| 久久久久免费观看| 中文字幕在线不卡一区二区三区| 亚洲视频 欧洲视频| 亚洲一区二区三区免费视频| 日本午夜一区二区| 国产精品一区二区黑丝| av动漫一区二区| 欧美精品久久99| 久久这里只有精品首页| 中文字幕亚洲精品在线观看| 一区二区高清视频在线观看| 免费精品99久久国产综合精品| 激情另类小说区图片区视频区| 成人精品国产一区二区4080| 色综合中文字幕国产 | 欧美在线一区二区三区| 欧美日韩免费在线视频| 26uuu亚洲婷婷狠狠天堂| 亚洲国产精品ⅴa在线观看| 亚洲综合男人的天堂| 喷白浆一区二区| 成人av在线影院| 欧美三级韩国三级日本一级| 久久先锋影音av鲁色资源| 亚洲欧美日韩国产另类专区| 日韩激情视频网站| av在线播放不卡| 91精品国产欧美一区二区18| 亚洲国产精品黑人久久久| 亚洲第一综合色| 日本电影亚洲天堂一区| 欧美tickle裸体挠脚心vk| 亚洲特黄一级片| 久久精工是国产品牌吗| 91视频免费播放| www激情久久| 亚洲制服丝袜av| 国产大陆a不卡| 欧美精品日韩一本| 成人免费一区二区三区在线观看| 日韩精品一二三区| 91天堂素人约啪| 久久一夜天堂av一区二区三区| 一区二区在线看| 福利电影一区二区三区| 91精品国产福利在线观看| 亚洲三级在线播放| 国产乱码精品一区二区三区五月婷 | 在线观看一区二区视频| 国产亚洲污的网站| 免费成人小视频| 欧美日韩极品在线观看一区| 国产精品国产三级国产a| 久久国产精品区| 欧美日韩不卡一区| 亚洲乱码日产精品bd| 国产成人综合亚洲91猫咪| 欧美videos中文字幕| 亚洲成人黄色影院| 91在线高清观看| 国产欧美视频在线观看| 精品中文字幕一区二区小辣椒| 欧美日韩aaa| 亚洲va天堂va国产va久| 91浏览器打开| 中文字幕亚洲在| 处破女av一区二区| 久久久亚洲精品石原莉奈| 麻豆一区二区三区| 日韩视频在线你懂得| 偷拍亚洲欧洲综合| 欧美色欧美亚洲另类二区| 亚洲综合一二区| 欧美日韩中字一区| 亚洲精品午夜久久久| 91色九色蝌蚪| 亚洲美女视频一区| 97精品电影院| 一区二区激情小说| 欧美在线视频你懂得| 亚洲一本大道在线| 在线观看不卡一区| 亚洲综合色丁香婷婷六月图片| 在线观看日韩国产| 午夜精品视频在线观看| 欧美精品一卡两卡| 青草国产精品久久久久久| 日韩一区二区在线看片| 另类小说色综合网站| 欧美va在线播放| 国产精品白丝jk黑袜喷水| 久久久精品日韩欧美| 成人在线视频一区二区| 综合色天天鬼久久鬼色| 91丝袜美腿高跟国产极品老师| 亚洲一区二三区| 欧美一级高清大全免费观看| 久久福利视频一区二区| 久久综合国产精品| 99在线视频精品| 亚洲自拍另类综合| 日韩免费在线观看| 成人精品gif动图一区| 一区二区在线免费| 日韩午夜av电影| 国产传媒久久文化传媒| 亚洲欧美日韩小说| 欧美一级高清片在线观看| 国产a级毛片一区| 亚洲精品精品亚洲| 欧美高清你懂得| 国产精一品亚洲二区在线视频| 中文字幕在线不卡一区| 欧美日韩中字一区| 国产米奇在线777精品观看| 亚洲女人小视频在线观看| 欧美精品乱码久久久久久| 国产不卡一区视频| 亚洲综合视频在线观看| 欧美变态凌虐bdsm| 99久久婷婷国产综合精品电影| 亚洲午夜久久久久久久久久久| 日韩精品一区二区在线| 成人18视频在线播放| 首页亚洲欧美制服丝腿| 国产精品久久久久久久久果冻传媒| 欧美日韩久久一区二区| 国产超碰在线一区| 首页国产丝袜综合| 国产精品天天看| 欧美电影免费提供在线观看| 91美女片黄在线观看| 蜜桃av一区二区三区| 亚洲色图制服诱惑 | 日韩国产精品久久| 综合欧美亚洲日本| 精品久久久久一区| 色久优优欧美色久优优| 激情偷乱视频一区二区三区| 亚洲国产日韩综合久久精品| 国产欧美视频一区二区三区| 欧美喷水一区二区| 91视频国产观看| 国产成人超碰人人澡人人澡| 男男gaygay亚洲| 亚洲一区二区三区四区不卡|