⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 servermanager.java

📁 QQ聊天
💻 JAVA
字号:
package com.sato.server.servermanager;

import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.Image;
import java.awt.Toolkit;
import java.io.File;
import java.net.ServerSocket;
import java.util.Vector;

import javax.swing.BorderFactory;
import javax.swing.Box;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JSplitPane;
import javax.swing.JTabbedPane;
import javax.swing.JTable;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.ListSelectionModel;
import javax.swing.UIManager;
import javax.swing.border.Border;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import javax.swing.table.DefaultTableModel;

import com.sato.server.ServerFrame;
import com.sato.server.dao.factory.DAOFactory;
import com.sun.org.apache.bcel.internal.generic.NEW;

public class ServerManager extends JPanel{
	private JPanel jp1;
	private JPanel serverjp;
	private JPanel messagePanel;
	private JPanel configPanel;
	private JPanel callPanel;
	private JSplitPane jsp1;
	private JSplitPane jsp2;
	private JSplitPane jsp3;
	private JTextArea jta1;
	private JTextArea messageArea;
	private JTextArea callArea;
	private JScrollPane jscrol1;
	private JScrollPane messageScroll;
	private JScrollPane callScroll;
	private JButton runbutton;
	private JButton stopbutton;
	private JButton foreoffbuton;
	private JButton emitButton;
	private Border b1;
	private Border b2;
	private Border b3;
	private Border b4;
	private JLabel jlabel1;
	private ServerFrame sframe;
	private JTable jtableonline;
	private ServerSocket ss;
	/**
	 * @param args
	 */
	public ServerManager(ServerFrame sframe){
		
		//服务列表
		jp1=new JPanel ();
		jp1.setLayout(new BorderLayout());
		jta1=new JTextArea();
		
		serverjp=new JPanel();
		b1=BorderFactory.createTitledBorder("在线用户");
		serverjp.setBorder(b1);
		serverjp.setLayout(new BorderLayout());
		Vector<String> columnNames = new Vector<String>();
		columnNames.add("QQ号码");
		columnNames.add("姓名");
		columnNames.add("性别");
		columnNames.add("年龄");
		columnNames.add("地址");
		columnNames.add("在线状态");
		columnNames.add("注册时间");
		Vector<Vector<String>> datas = null;
		DefaultTableModel dataModel = new DefaultTableModel(datas, columnNames){
			public boolean isCellEditable(int row, int column) {
				return false;
			}
		};
		jtableonline=new JTable();
		jtableonline.setModel(dataModel);
		// //2. 大小固定
		jtableonline.getTableHeader().setResizingAllowed(false);// 大小不可以调
		// 3. 不能换位
		jtableonline.getTableHeader().setReorderingAllowed(false);// 设置列不可移动
		JtableOline jtablelisten=new JtableOline(this);
		jtableonline.getSelectionModel().addListSelectionListener(jtablelisten);
		jscrol1=new  JScrollPane(jtableonline);
		serverjp.add(jscrol1,BorderLayout.CENTER);	
		
		//通讯信息提醒
		b2=BorderFactory.createTitledBorder("通讯信息提醒");
		messageArea=new JTextArea();
		messageScroll=new  JScrollPane(messageArea);
		messagePanel=new JPanel();
		messagePanel.setLayout(new BorderLayout());
		messagePanel.setBorder(b2);
		messagePanel.add(messageScroll,BorderLayout.CENTER);
		
		//服务器管理
		b3=BorderFactory.createTitledBorder("服务器管理");
		configPanel=new JPanel();
		configPanel.setBorder(b3);
		jlabel1 = new JLabel(new ImageIcon("./images/total/serverstop.gif"));
		configPanel.setLayout(new BorderLayout());
		Box box1=Box.createVerticalBox();
		Box box2=Box.createHorizontalBox();
		runbutton=new JButton("启动通讯服务");
		stopbutton=new JButton("停止通讯服务");
		foreoffbuton=new JButton("强制用户下线");
		stopbutton.setEnabled(false);
		foreoffbuton.setEnabled(false);
		box1.add(runbutton);
		box1.add(Box.createVerticalStrut(10));
		box1.add(stopbutton);
		box1.add(Box.createVerticalStrut(80));
		box1.add(foreoffbuton);
		box2.add(jlabel1);
		box2.add(Box.createHorizontalStrut(20));
		box2.add(box1);
		configPanel.add(box2,BorderLayout.CENTER);
		
		//公告发送
		b4=BorderFactory.createTitledBorder("公告发送");
		Box box3=Box.createHorizontalBox();
		emitButton=new JButton("发送");
		box3.add(Box.createHorizontalStrut(280));
		box3.add(emitButton);
		callArea=new JTextArea();
		callScroll=new  JScrollPane(callArea);
		callPanel=new JPanel();
		callPanel.setLayout(new BorderLayout());
		callPanel.setBorder(b4);
		callPanel.add(callScroll,BorderLayout.CENTER);
		callPanel.add(box3,BorderLayout.SOUTH);
		
		//分割组件
		jsp1=new JSplitPane(JSplitPane.VERTICAL_SPLIT,messagePanel,callPanel);
		jsp1.setDividerLocation(100);
		jsp2=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,jsp1,configPanel);
		jsp2.setDividerLocation(360);
		jsp3=new JSplitPane(JSplitPane.VERTICAL_SPLIT,serverjp,jsp2);
		jsp3.setDividerLocation(220);
		ServerListener slistener=new ServerListener(this,sframe);
		runbutton.addActionListener(slistener);
		stopbutton.addActionListener(slistener);
		foreoffbuton.addActionListener(slistener);
		emitButton.addActionListener(slistener);
		this.setLayout(new BorderLayout());
		this.add(jsp3,BorderLayout.CENTER);
	}
	public JTextArea getMessageArea() {
		return messageArea;
	}
	public void setMessageArea(JTextArea messageArea) {
		this.messageArea = messageArea;
	}
	public JTextArea getCallArea() {
		return callArea;
	}
	public void setCallArea(JTextArea callArea) {
		this.callArea = callArea;
	}
	public JButton getRunbutton() {
		return runbutton;
	}
	public void setRunbutton(JButton runbutton) {
		this.runbutton = runbutton;
	}
	public JButton getStopbutton() {
		return stopbutton;
	}
	public void setStopbutton(JButton stopbutton) {
		this.stopbutton = stopbutton;
	}
	public JButton getForeoffbuton() {
		return foreoffbuton;
	}
	public void setForeoffbuton(JButton foreoffbuton) {
		this.foreoffbuton = foreoffbuton;
	}
	public JButton getEmitButton() {
		return emitButton;
	}
	public void setEmitButton(JButton emitButton) {
		this.emitButton = emitButton;
	}
	public JPanel getServerjp() {
		return serverjp;
	}
	public void setServerjp(JPanel serverjp) {
		this.serverjp = serverjp;
	}
	public JTable getJtableonline() {
		return jtableonline;
	}
	public void setJtableonline(JTable jtableonline) {
		this.jtableonline = jtableonline;
	}
	public JLabel getJlabel1() {
		return jlabel1;
	}
	public void setJlabel1(JLabel jlabel1) {
		this.jlabel1 = jlabel1;
	}
	public ServerSocket getSs() {
		return ss;
	}
	public void setSs(ServerSocket ss) {
		this.ss = ss;
	}
	
	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -