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

📄 eserverframe.java

📁 这是一个个人编写的在线聊天程序。是用JAVA语言编写的
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
import java.awt.*;
import javax.swing.*;
import java.io.*;
import java.net.*;
import java.util.*;
import java.awt.event.*;
import javax.swing.event.*;

class EPic1Panel extends JPanel//服务器界面的标题部分
{
	JLabel S1,S2,EF1,EF2,EF3,EF4,EF5,EF6,EF7,EF8,EF9,EF10,EF11;//图标
	JLabel A1,A2,A3;
	GridBagLayout GBL;
	GridBagConstraints GBC;
	EPic1Panel()
	{
		S1=new JLabel(new ImageIcon("AT3.gif"));
		S2=new JLabel(new ImageIcon("AT4.gif"));
		EF1=new JLabel(new ImageIcon("EF1.gif"));
		EF2=new JLabel(new ImageIcon("EF2.gif"));
		EF3=new JLabel(new ImageIcon("EF3.gif"));
		EF4=new JLabel(new ImageIcon("EF4.gif"));
		EF5=new JLabel(new ImageIcon("EF5.gif"));
		EF6=new JLabel(new ImageIcon("EF6.gif"));
		EF7=new JLabel(new ImageIcon("EF7.gif"));
		EF8=new JLabel(new ImageIcon("EF8.gif"));
		EF9=new JLabel(new ImageIcon("EF9.gif"));
		EF10=new JLabel(new ImageIcon("EF10.gif"));
		EF11=new JLabel(new ImageIcon("EF11.gif"));
		
		A1=new JLabel("       ");
		A2=new JLabel("       ");
		A3=new JLabel("       ");
		GBC= new GridBagConstraints();

		setBackground(new Color(52,130,203));

		setLayout(GBL= new GridBagLayout());
		GBC.gridx=1;
		GBC.gridy=1;
		GBL.setConstraints(S1,GBC);
		GBC.gridx=2;
		GBC.gridy=1;
		GBL.setConstraints(A1,GBC);
		GBC.gridx=3;
		GBC.gridy=1;
		GBL.setConstraints(EF7,GBC);
		GBC.gridx=4;
		GBC.gridy=1;
		GBL.setConstraints(EF8,GBC);
		GBC.gridx=5;
		GBC.gridy=1;
		GBL.setConstraints(EF9,GBC);
		GBC.gridx=6;
		GBC.gridy=1;
		GBL.setConstraints(EF10,GBC);
		GBC.gridx=7;
		GBC.gridy=1;
		GBL.setConstraints(EF11,GBC);
		GBC.gridx=8;
		GBC.gridy=1;
		GBL.setConstraints(A3,GBC);
		GBC.gridx=9;
		GBC.gridy=1;
		GBL.setConstraints(EF1,GBC);
		GBC.gridx=10;
		GBC.gridy=1;
		GBL.setConstraints(EF2,GBC);
		GBC.gridx=11;
		GBC.gridy=1;
		GBL.setConstraints(EF3,GBC);
		GBC.gridx=12;
		GBC.gridy=1;
		GBL.setConstraints(EF4,GBC);
		GBC.gridx=13;
		GBC.gridy=1;
		GBL.setConstraints(EF5,GBC);
		GBC.gridx=14;
		GBC.gridy=1;
		GBL.setConstraints(EF6,GBC);
		GBC.gridx=15;
		GBC.gridy=1;
		GBL.setConstraints(A2,GBC);
		GBC.gridx=16;
		GBC.gridy=1;
		GBL.setConstraints(S2,GBC);

		add(S1);
		add(S2);
		add(EF1);
		add(EF2);
		add(EF3);
		add(EF4);
		add(EF5);
		add(EF6);
		add(EF7);
		add(EF8);
		add(EF9);
		add(EF10);
		add(EF11);
		add(A1);
		add(A2);
		add(A3);
	}
}

class ETextPanel extends JPanel//服务器界面显示消息的区域
{
	JLabel I1,I2;
	JPanel Message;
	JScrollPane SP1;
	GridBagLayout GBL;
	GridBagConstraints GBC;
	ETextPanel()
	{
		I1=new JLabel(new ImageIcon("BZ9.jpg"));
		I2=new JLabel(new ImageIcon("BZ10.jpg"));
		Message=new JPanel();
		Message.setBackground(new Color(0,0,0));
		Message.setLayout(new GridLayout(500,1));
		SP1=new JScrollPane(Message);
		GBC= new GridBagConstraints();
	
		setBackground(new Color(51,157,221));
		
		setLayout(GBL= new GridBagLayout());
		GBC.gridx=1;
		GBC.gridy=1;
		GBC.weightx=1;
      		GBC.weighty=1;
		GBC.fill=GridBagConstraints.BOTH;
      		GBL.setConstraints(SP1,GBC);
		GBC.gridx=1;
		GBC.gridy=2;
      		GBL.setConstraints(I1,GBC);
		GBC.gridx=2;
		GBC.gridy=1;
      		GBL.setConstraints(I2,GBC);

		add(SP1);
		add(I1);
		add(I2);
	}
}

class EMiddlePanel extends JPanel//服务器界面的中间部分
{
	BListPanel L1,L2;//用户列表部分
	ETextPanel T;//服务器显示消息部分
	
	GridBagLayout GBL;
	GridBagConstraints GBC;
	EMiddlePanel()
	{
		L1=new BListPanel();
		L2=new BListPanel();
		T=new ETextPanel();
		GBC= new GridBagConstraints();

		setBackground(new Color(52,130,203));

		setLayout(GBL= new GridBagLayout());
		GBC.gridx=1;
		GBC.gridy=1;
		GBL.setConstraints(L1,GBC);
		GBC.gridx=2;
		GBC.gridy=1;
		GBL.setConstraints(T,GBC);
		GBC.gridx=3;
		GBC.gridy=1;
		GBL.setConstraints(L2,GBC);

		add(L1);
		add(L2);
		add(T);
	}
}

class EButtonPanel extends JPanel//服务器界面的按钮部分
{
	JLabel Leave,Return,Reset,Exit,Stop,Recieve;
	JLabel Clock;//一个钟的图片
	JLabel A1,A2,A3,A4,A5,A6,A7,A8,A9;//空Label
	GridBagLayout GBL;
	GridBagConstraints GBC;
	EButtonPanel()
	{
		Leave=new JLabel(new ImageIcon("ELeave1.jpg"));
		Return=new JLabel(new ImageIcon("EReturn1.jpg"));
		Reset=new JLabel(new ImageIcon("EReset1.jpg"));
		Exit=new JLabel(new ImageIcon("EExit1.jpg"));
		Stop=new JLabel(new ImageIcon("EStop1.jpg"));
		Recieve=new JLabel(new ImageIcon("BRecieve1.jpg"));
		Clock=new JLabel("",new ImageIcon("EClock.jpg"),10);
		Clock.setForeground(new Color(0,0,0));
		Clock.setFont(new Font("Fixedsys",Font.PLAIN,12));
		A1=new JLabel("  ");
		A2=new JLabel("  ");
		A3=new JLabel("  ");
		A4=new JLabel("  ");
		A7=new JLabel("  ");
		A8=new JLabel("  ");
		A5=new JLabel("                   ");
		A5.setFont(new Font("Fixedsys",Font.PLAIN,16));
		A6=new JLabel("  ");
		A6.setFont(new Font("Fixedsys",Font.PLAIN,2));
		A9=new JLabel(" ");
		GBC= new GridBagConstraints();
		
		setBackground(new Color(122,181,222));

		setLayout(GBL= new GridBagLayout());
		GBC.gridx=1;
		GBC.gridy=1;
		GBL.setConstraints(A1,GBC);
		GBC.gridx=2;
		GBC.gridy=1;
		GBL.setConstraints(Leave,GBC);
		GBC.gridx=3;
		GBC.gridy=1;
		GBL.setConstraints(A2,GBC);
		GBC.gridx=4;
		GBC.gridy=1;
		GBL.setConstraints(Return,GBC);
		GBC.gridx=5;
		GBC.gridy=1;
		GBL.setConstraints(A3,GBC);
		GBC.gridx=6;
		GBC.gridy=1;
		GBL.setConstraints(Stop,GBC);
		GBC.gridx=7;
		GBC.gridy=1;
		GBL.setConstraints(A4,GBC);
		GBC.gridx=8;
		GBC.gridy=1;
		GBL.setConstraints(Recieve,GBC);
		GBC.gridx=9;
		GBC.gridy=1;
		GBL.setConstraints(A7,GBC);
		GBC.gridx=10;
		GBC.gridy=1;
		GBL.setConstraints(Reset,GBC);
		GBC.gridx=11;
		GBC.gridy=1;
		GBL.setConstraints(A8,GBC);
		GBC.gridx=12;
		GBC.gridy=1;
		GBL.setConstraints(Exit,GBC);
		GBC.gridx=13;
		GBC.gridy=1;
		GBL.setConstraints(A5,GBC);
		GBC.anchor= GridBagConstraints.EAST;
		GBC.gridx=13;
		GBC.gridy=1;
		GBL.setConstraints(A5,GBC);
		GBC.gridx=14;
		GBC.gridy=2;
		GBL.setConstraints(Clock,GBC);
		GBC.gridx=1;
		GBC.gridy=0;
		GBL.setConstraints(A6,GBC);
		GBC.gridx=15;
		GBC.gridy=1;
		GBL.setConstraints(A9,GBC);

		add(Leave);
		add(Return);
		add(Reset);
		add(Exit);
		add(Clock);
		add(Stop);
		add(Recieve);
		add(A1);
		add(A2);
		add(A3);
		add(A4);
		add(A5);
		add(A6);
		add(A7);
		add(A8);
		add(A9);
	}
}

class EServerPanel extends JPanel//服务器Panel
{
	JMenuBar mb;//菜单栏
	JMenu m1,m2;
	JMenuItem mi1,mi2,mi3,mi4,mi5,mi6;	

	JLabel ZZ;//设置服务器的状态
	EPic1Panel P;//服务器的标题
	EMiddlePanel M;//服务器的中间部分
	EButtonPanel B;//服务器的按钮部分

	GridBagLayout GBL;
	GridBagConstraints GBC;
	EServerPanel()
	{
		mb=new JMenuBar();
		mb.setBackground(new Color(27,111,160));
		m1=new JMenu("文件");
		m1.setBackground(new Color(27,111,160));
		m1.setForeground(new Color(229,229,229));
		m1.setFont(new Font("楷体_GB2312",Font.PLAIN,12));
		m2=new JMenu("帮助");
		m2.setBackground(new Color(27,111,160));
		m2.setForeground(new Color(229,229,229));
		m2.setFont(new Font("楷体_GB2312",Font.PLAIN,12));
		mb.add(m1);
		mb.add(m2);
		mi1=new JMenuItem("暂停连接");
		mi1.setBackground(new Color(27,111,160));
		mi1.setForeground(new Color(229,229,229));
		mi1.setFont(new Font("楷体_GB2312",Font.PLAIN,12));
		mi2=new JMenuItem("恢复连接");
		mi2.setBackground(new Color(27,111,160));
		mi2.setForeground(new Color(229,229,229));
		mi2.setFont(new Font("楷体_GB2312",Font.PLAIN,12));
		mi3=new JMenuItem("退出系统");
		mi3.setBackground(new Color(27,111,160));
		mi3.setForeground(new Color(229,229,229));
		mi3.setFont(new Font("楷体_GB2312",Font.PLAIN,12));
		mi4=new JMenuItem("关于聊天室");
		mi4.setBackground(new Color(27,111,160));
		mi4.setForeground(new Color(229,229,229));
		mi4.setFont(new Font("楷体_GB2312",Font.PLAIN,12));
		mi5=new JMenuItem("屏蔽用户");
		mi5.setBackground(new Color(27,111,160));
		mi5.setForeground(new Color(229,229,229));
		mi5.setFont(new Font("楷体_GB2312",Font.PLAIN,12));
		mi6=new JMenuItem("恢复屏蔽");
		mi6.setBackground(new Color(27,111,160));
		mi6.setForeground(new Color(229,229,229));
		mi6.setFont(new Font("楷体_GB2312",Font.PLAIN,12));
		
		m1.add(mi1);
		m1.add(mi2);
		m1.add(mi5);
		m1.add(mi6);
		m1.add(mi3);
		m2.add(mi4);

		ZZ=new JLabel(new ImageIcon("BS1.jpg"));
		P=new EPic1Panel();
		M=new EMiddlePanel();
		B=new EButtonPanel();	
			
		GBC= new GridBagConstraints();

		setBackground(new Color(52,130,203));
	
		setLayout(GBL= new GridBagLayout());
		GBC.anchor= GridBagConstraints.WEST;
		GBC.gridx=1;
		GBC.gridy=1;
		GBL.setConstraints(ZZ,GBC);
		GBC.anchor= GridBagConstraints.CENTER;
		GBC.gridx=1;
		GBC.gridy=2;
		GBL.setConstraints(P,GBC);
		GBC.gridx=1;
		GBC.gridy=3;
		GBL.setConstraints(M,GBC);
		GBC.gridx=1;
		GBC.gridy=4;
		GBL.setConstraints(B,GBC);
	
		add(ZZ);
		add(P);
		add(B);
		add(M);
	}
}

public class EServerFrame extends JFrame implements ActionListener,MouseListener,Runnable
{
	EServerPanel S;
	Thread time;//时间线程

	String SS="开启";//设置服务器的状态

	FChatServer fcs;	
	public EServerFrame(FChatServer server)
	{
		fcs=server;

		time=new Thread(this);
		time.start();

		S=new EServerPanel();
		getContentPane().add(S);
		setJMenuBar(S.mb);

⌨️ 快捷键说明

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