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

📄 ccardframe.java

📁 这是一个个人编写的在线聊天程序。是用JAVA语言编写的
💻 JAVA
字号:
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import java.io.*;
import java.util.*;
class CCardPanel extends JPanel  //用户注册界面
{
	CAgreePanel A;
	CRegistPanel R;
	CPassPanel P;
	CardLayout CL;

	CCardPanel()
	{
		A=new CAgreePanel();
		R=new CRegistPanel();
		P=new CPassPanel();
		
		setLayout(CL=new CardLayout());
			
		add("first",A);
		add("second",R);
		add("third",P);		
	}	
}
public class CCardFrame extends JFrame implements MouseListener
{
	static Vector vuser=new Vector(0,1);//收集用户名
	static Vector vemail=new Vector(0,1);//收集E-mail
	static HashMap hashmap=new HashMap();
	static HashMap hashmapimage=new HashMap();
	static HashMap hashmapnicheng=new HashMap();
	static HashMap hashmapemail=new HashMap();
	static String x="100";
	CCardPanel C;

	CCardFrame(String a)
	{
		//super(a);
		C=new CCardPanel();
		x="100";
		C.A.B.Accept.addMouseListener(this);//用户协议的接受按钮
		C.A.B.Return.addMouseListener(this);//用户协议的返回按钮
		C.R.B.Reset.addMouseListener(this);//用户注册时的清除按钮
		C.R.B.Return.addMouseListener(this);//用户注册时的返回按钮
		C.R.B.Regist.addMouseListener(this);//用户注册时的提交按钮
		C.P.Accept.addMouseListener(this);//用户注册成功时确定按钮
		C.R.M.F.A.Image.addMouseListener(this);	//选择头像按钮

		getContentPane().add(C);
		setSize(535,520);
		setResizable(false);	

		//弹出注册框始终在屏幕中央
		Toolkit TK = Toolkit.getDefaultToolkit();
        	Dimension Size = TK.getScreenSize();
       		this.setBounds((Size.width-this.getSize().width)/2,
		(Size.height-this.getSize().height)/2,
            	this.getSize().width,this.getSize().height);		

		show();
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}

	public void mousePressed(MouseEvent e)
	{
		Object Obj=e.getSource();
		if(Obj==C.A.B.Accept)
			C.A.B.Accept.setIcon(new ImageIcon("CAccept3.jpg"));
		if(Obj==C.A.B.Return)
			C.A.B.Return.setIcon(new ImageIcon("CUnaccept3.jpg"));
		if(Obj==C.R.B.Reset)
			C.R.B.Reset.setIcon(new ImageIcon("CReset3.jpg"));
		if(Obj==C.R.B.Return)
			C.R.B.Return.setIcon(new ImageIcon("CReturn3.jpg"));
		if(Obj==C.R.B.Regist)
			C.R.B.Regist.setIcon(new ImageIcon("CRegist3.jpg"));
		if(Obj==C.P.Accept)
			C.P.Accept.setIcon(new ImageIcon("CSure3.jpg"));
	}
	public void mouseReleased(MouseEvent e)
	{
		Object Obj=e.getSource();
		if(Obj==C.A.B.Accept)
			C.A.B.Accept.setIcon(new ImageIcon("CAccept1.jpg"));
		if(Obj==C.A.B.Return)
			C.A.B.Return.setIcon(new ImageIcon("CUnaccept1.jpg"));
		if(Obj==C.R.B.Reset)
			C.R.B.Reset.setIcon(new ImageIcon("CReset1.jpg"));
		if(Obj==C.R.B.Return)
			C.R.B.Return.setIcon(new ImageIcon("CReturn1.jpg"));
		if(Obj==C.R.B.Regist)
			C.R.B.Regist.setIcon(new ImageIcon("CRegist1.jpg"));
		if(Obj==C.P.Accept)
			C.P.Accept.setIcon(new ImageIcon("CSure1.jpg"));
	}
	public void mouseEntered(MouseEvent e)
	{
		Object Obj=e.getSource();
		if(Obj==C.A.B.Accept)
			C.A.B.Accept.setIcon(new ImageIcon("CAccept2.jpg"));
		if(Obj==C.A.B.Return)
			C.A.B.Return.setIcon(new ImageIcon("CUnaccept2.jpg"));
		if(Obj==C.R.B.Reset)
			C.R.B.Reset.setIcon(new ImageIcon("CReset2.jpg"));
		if(Obj==C.R.B.Return)
			C.R.B.Return.setIcon(new ImageIcon("CReturn2.jpg"));
		if(Obj==C.R.B.Regist)
			C.R.B.Regist.setIcon(new ImageIcon("CRegist2.jpg"));
		if(Obj==C.P.Accept)
			C.P.Accept.setIcon(new ImageIcon("CSure2.jpg"));
	}
	public void mouseExited(MouseEvent e)
	{
		Object Obj=e.getSource();
		if(Obj==C.A.B.Accept)
			C.A.B.Accept.setIcon(new ImageIcon("CAccept1.jpg"));
		if(Obj==C.A.B.Return)
			C.A.B.Return.setIcon(new ImageIcon("CUnaccept1.jpg"));
		if(Obj==C.R.B.Reset)
			C.R.B.Reset.setIcon(new ImageIcon("CReset1.jpg"));
		if(Obj==C.R.B.Return)
			C.R.B.Return.setIcon(new ImageIcon("CReturn1.jpg"));
		if(Obj==C.R.B.Regist)
			C.R.B.Regist.setIcon(new ImageIcon("CRegist1.jpg"));
		if(Obj==C.P.Accept)
			C.P.Accept.setIcon(new ImageIcon("CSure1.jpg"));
	}
	public void mouseClicked(MouseEvent e)
	{
		String UserName=C.R.M.A.D.TF1.getText().trim();//取得用户填写的用户名
		String Password=new String(C.R.M.A.D.TF2.getPassword());//取得用户填写的密码
		String RePassword=new String(C.R.M.A.D.TF3.getPassword());//取得用户重写的密码
		String Pet=C.R.M.A.D.TF4.getText().trim();//取得用户填写的昵称
		String Question=String.valueOf(C.R.M.A.D.JC.getSelectedItem());//取得用户选择的提示问题
		String Answer=C.R.M.A.D.TF5.getText().trim();//取得用户填写的问题答案
		String Email=C.R.M.A.D.TF6.getText().trim();//取得用户填写的电子邮箱

		String FirstName=C.R.M.F.N.TF1.getText().trim();//取得用户填写的姓
		String SecondName=C.R.M.F.N.TF2.getText().trim();//取得用户填写的名
		String Year=String.valueOf(C.R.M.F.B.JY.getSelectedItem());//取得用户选择的出生年
		String Month=String.valueOf(C.R.M.F.B.JM.getSelectedItem());//取得用户选择的出生月
		String Country=C.R.M.F.A.TF1.getText().trim();//取得用户填写的国家
		String City=C.R.M.F.A.TF2.getText().trim();//取得用户填写的城市
		String Job=String.valueOf(C.R.M.F.A.JJ.getSelectedItem());//取得用户选择职业
	
		Object Obj=e.getSource();
		if(Obj==C.A.B.Accept)//如果按到用户协议的接受按钮
		{
			C.CL.next(C);
			setSize(605,605);
			setResizable(false);
			show();
			Toolkit TK = Toolkit.getDefaultToolkit();
        		Dimension Size = TK.getScreenSize();
       			this.setBounds((Size.width-this.getSize().width)/2,
			(Size.height-this.getSize().height)/2,
            		this.getSize().width,this.getSize().height);	
		}
		if(Obj==C.A.B.Return)//如果按到用户协议的返回按钮
		{
			FChatUser CU=new FChatUser();
			dispose();
		}
		if(Obj==C.R.B.Regist)//如果按到注册部分的提交按钮
		{
			if(UserName.length()==0)//如果没有填写用户名
			{
				DEmpty2Dialog D=new DEmpty2Dialog(this,"Error",true);//提示填写用户名
				return;
			}
			if(Password.length()==0)//如果没有填写密码
			{
				DEmpty3Dialog D=new DEmpty3Dialog(this,"Error",true);//提示填写密码
				return;
			}
			if(RePassword.length()==0)//如果没有重写密码
			{
				DEmpty4Dialog D=new DEmpty4Dialog(this,"Error",true);//提示重写密码
				return;
			}
			if(Pet.length()==0)//如果没有填写昵称
			{
				DEmpty5Dialog D=new DEmpty5Dialog(this,"Error",true);//提示填写昵称
				return;
			}
			if(Answer.length()==0)//如果没有填写问题答案
			{
				DEmpty6Dialog D=new DEmpty6Dialog(this,"Error",true);//提示填写问题答案
				return;
			}
			if(Email.length()==0)//如果没有填写电子邮箱
			{
				DEmpty7Dialog D=new DEmpty7Dialog(this,"Error",true);//提示填写电子邮箱
				return;
			}
			else
			{
				if(UserName.length()>14)//如果用户名长度大于14
				{
					DWrong1Dialog D=new DWrong1Dialog(this,"Error",true);//提示用户名不能超过14
					return;
				}
				if(Password.length()<6 || Password.length()>12)//如果密码长度不在6-12之间
				{
					DWrong2Dialog D=new DWrong2Dialog(this,"Error",true);//提示正确填写密码
					return;
				}
				if(Password.equals(RePassword)==false)//如果确认密码和原密码不一致
				{
					DWrong3Dialog D=new DWrong3Dialog(this,"Error",true);//提示核对密码
					return;
				}
				if(Email.indexOf("@")==-1 || Email.indexOf(".")==-1 || Email.indexOf("@")>Email.indexOf("."))
				{
					DWrong8Dialog D=new DWrong8Dialog(this,"Error",true);//提示正确填写电子邮箱
					return;
				}
				if(vuser.contains(UserName))//如果用户名已经被注册过
				{
					DWrong4Dialog D=new DWrong4Dialog(this,"Error",true);//提示用户名已存在
					return;
				}
				if(vemail.contains(Email))//如果电子邮箱已经被注册过
				{
					DWrong16Dialog D=new DWrong16Dialog(this,"Error",true);//提示电子邮箱已经注册过了
					return;
				}
				else
				{
					vuser.add(UserName);//把注册好的用户名保存到vuser中
					vemail.add(Email);//把注册好的电子邮箱保存到vemail中
					hashmap.put(UserName,Password);
					hashmapimage.put(UserName,x);
					hashmapnicheng.put(UserName,Pet);
					hashmapemail.put(UserName,Email);

					//写到"CustomerData.txt"(记录用户注册数据)
				String entry="  UserName:"+UserName+
					     "  Password:"+Password+
					     "  Pet:"+Pet+
				             "  Question:"+Question+
					     "  Answer:"+Answer+
					     "  E-mail:"+Email+
					     "  FirstName:"+FirstName+
					     "  SecondName:"+SecondName+
					     "  Year:"+Year+
					     "  Month:"+Month+
					     "  Country:"+Country+
					     "  City:"+City+
					     "  Job:"+Job+
					     "                        ";
					try
					{
						RandomAccessFile log=new RandomAccessFile("CustomerData.txt","rw");
						log.seek(log.length());
						log.writeBytes(entry);
					}
					catch(IOException ex)
					{
						JOptionPane.showMessageDialog(C,"can not write to file"+ex);
					}
					C.CL.next(C);
					setSize(420,150);
					setResizable(false);
					show();
					Toolkit TK = Toolkit.getDefaultToolkit();
        				Dimension Size = TK.getScreenSize();
       					this.setBounds((Size.width-this.getSize().width)/2,
					(Size.height-this.getSize().height)/2,
            				this.getSize().width,this.getSize().height);	
				}
			}
		}
		if(Obj==C.R.B.Return)//如果按到注册部分返回按钮
		{
			FChatUser CU=new FChatUser();
			dispose();
		}
		
		if(Obj==C.R.B.Reset)//如果按到注册部分清空按钮
		{
			C.R.M.A.D.TF1.setText("");
			C.R.M.A.D.TF2.setText("");
			C.R.M.A.D.TF3.setText("");
			C.R.M.A.D.TF4.setText("");
			C.R.M.A.D.TF5.setText("");
			C.R.M.A.D.TF6.setText("");
			C.R.M.F.N.TF1.setText("");
			C.R.M.F.N.TF2.setText("");
			C.R.M.F.A.TF1.setText("");
			C.R.M.F.A.TF2.setText("");
		}
		if(Obj==C.P.Accept)//如果按到成功注册的确认按钮
		{
			FChatUser CU=new FChatUser();
			dispose();
		}
		if(Obj==C.R.M.F.A.Image)//如果按到选择头像按钮
		{
			CFaceDialog D=new CFaceDialog(this,"Face",true);
		}	
	}

	public static void main(String a[])
	{
		new CCardFrame("Card");
	}

class CFacePanel extends JPanel //选择头像界面
{
	JLabel P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16;
	GridLayout GL;
	CFacePanel()
	{
		P1=new JLabel(new ImageIcon("101.jpg"));
		P2=new JLabel(new ImageIcon("102.jpg"));
		P3=new JLabel(new ImageIcon("103.jpg"));
		P4=new JLabel(new ImageIcon("104.jpg"));
		P5=new JLabel(new ImageIcon("105.jpg"));
		P6=new JLabel(new ImageIcon("106.jpg"));
		P7=new JLabel(new ImageIcon("107.jpg"));
		P8=new JLabel(new ImageIcon("108.jpg"));
		P9=new JLabel(new ImageIcon("109.jpg"));
		P10=new JLabel(new ImageIcon("110.jpg"));
		P11=new JLabel(new ImageIcon("111.jpg"));
		P12=new JLabel(new ImageIcon("112.jpg"));
		P13=new JLabel(new ImageIcon("113.jpg"));
		P14=new JLabel(new ImageIcon("114.jpg"));
		P15=new JLabel(new ImageIcon("115.jpg"));
		P16=new JLabel(new ImageIcon("116.jpg"));

		setBackground(new Color(255,255,255));
		
		setLayout(GL= new GridLayout(4,4));	
		add(P1);
		add(P2);
		add(P3);
		add(P4);
		add(P5);
		add(P6);
		add(P7);
		add(P8);
		add(P9);
		add(P10);
		add(P11);
		add(P12);
		add(P13);
		add(P14);
		add(P15);
		add(P16);
	}
}
class CFaceDialog extends JDialog implements MouseListener
{
	CFacePanel D;
	CFaceDialog(JFrame C,String S,boolean B)
	{
		super(C,S,B);
		D=new CFacePanel();
		getContentPane().add(D);

		D.P1.addMouseListener(this);
		D.P2.addMouseListener(this);
		D.P3.addMouseListener(this);
		D.P4.addMouseListener(this);
		D.P5.addMouseListener(this);
		D.P6.addMouseListener(this);
		D.P7.addMouseListener(this);
		D.P8.addMouseListener(this);
		D.P9.addMouseListener(this);
		D.P10.addMouseListener(this);
		D.P11.addMouseListener(this);
		D.P12.addMouseListener(this);
		D.P13.addMouseListener(this);
		D.P14.addMouseListener(this);
		D.P15.addMouseListener(this);
		D.P16.addMouseListener(this);

		setLocation(250,200);
		setSize(200,200);
		setResizable(false);
		show();
	}
	
	public void mousePressed(MouseEvent e)
	{}
	public void mouseReleased(MouseEvent e)
	{}
	public void mouseEntered(MouseEvent e)
	{}
	public void mouseExited(MouseEvent e)
	{}
	public void mouseClicked(MouseEvent e)
	{
		Object Obj=e.getSource();
			if(Obj==D.P1)
			{
				x="101";
				C.R.M.F.A.Image.setIcon(new ImageIcon("101.jpg"));
				dispose();
			}
			if(Obj==D.P2)
			{
				x="102";
				C.R.M.F.A.Image.setIcon(new ImageIcon("102.jpg"));
				dispose();
			}
			if(Obj==D.P3)
			{
				x="103";
				C.R.M.F.A.Image.setIcon(new ImageIcon("103.jpg"));
				dispose();
			}
			if(Obj==D.P4)
			{
				x="104";
				C.R.M.F.A.Image.setIcon(new ImageIcon("104.jpg"));
				dispose();
			}
			if(Obj==D.P5)
			{
				x="105";
				C.R.M.F.A.Image.setIcon(new ImageIcon("105.jpg"));
				dispose();
			}
			if(Obj==D.P6)
			{
				x="106";
				C.R.M.F.A.Image.setIcon(new ImageIcon("106.jpg"));
				dispose();
			}
			if(Obj==D.P7)
			{
				x="107";
				C.R.M.F.A.Image.setIcon(new ImageIcon("107.jpg"));
				dispose();
			}
			if(Obj==D.P8)
			{
				x="108";
				C.R.M.F.A.Image.setIcon(new ImageIcon("108.jpg"));
				dispose();
			}
			if(Obj==D.P9)
			{
				x="109";
				C.R.M.F.A.Image.setIcon(new ImageIcon("109.jpg"));
				dispose();
			}
			if(Obj==D.P10)
			{
				x="110";
				C.R.M.F.A.Image.setIcon(new ImageIcon("110.jpg"));
				dispose();
			}
			if(Obj==D.P11)
			{
				x="111";
				C.R.M.F.A.Image.setIcon(new ImageIcon("111.jpg"));
				dispose();
			}
			if(Obj==D.P12)
			{
				x="112";
				C.R.M.F.A.Image.setIcon(new ImageIcon("112.jpg"));
				dispose();
			}
			if(Obj==D.P13)
			{
				x="113";
				C.R.M.F.A.Image.setIcon(new ImageIcon("113.jpg"));
				dispose();
			}
			if(Obj==D.P14)
			{
				x="114";
				C.R.M.F.A.Image.setIcon(new ImageIcon("114.jpg"));
				dispose();
			}
			if(Obj==D.P15)
			{
				x="115";
				C.R.M.F.A.Image.setIcon(new ImageIcon("115.jpg"));
				dispose();
			}		
			if(Obj==D.P16)
			{
				x="116";
				C.R.M.F.A.Image.setIcon(new ImageIcon("116.jpg"));
				dispose();
			}
	}
}
}

⌨️ 快捷键说明

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