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

📄 login.java

📁 JAVAQQ 聊天系统,信息发送.改变头像.等功能,时时聊天.
💻 JAVA
字号:
package com.li.myqq.login;

import javax.swing.*;

import java.awt.event.KeyEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.*;
import com.li.myqq.server.*;
import java.awt.Rectangle;
import java.io.*;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;

import javax.swing.JButton;

public class Login extends JFrame {

	private static final long serialVersionUID = 1L;

	private JPanel jContentPane = null;

	private JLabel jLabel = null;

	private JLabel TextUsername = null;

	private JLabel TextUserpwd = null;

	private JTextField usename = null;

	private JPasswordField password = null;

	private JButton denglu = null;

	public JButton zhuce = null;

	private JButton cancel = null;

	public JButton lianjie = null;

	private JButton shezhi = null;
   
	private String username=null;  //  @jve:decl-index=0:
	Socket socket;  //  @jve:decl-index=0:
	BufferedReader bur=null;
	PrintWriter print=null;
	String bf[]=null;
	private JButton shezhi1 = null;

	/*
	 * This is the default constructor
	 */
	
	public Login() {
		super();
		initialize();
	}
	
	/**
	 * This method initializes this
	 * 
	 * @return void
	 */
	private void initialize() {
		socket=getSocket();
		this.setSize(293, 218);
		this.setResizable(false);
		this.setIconImage(Toolkit.getDefaultToolkit().getImage("./pic/84.gif"));
		this.setContentPane(getJContentPane());
		this.setTitle("QQ登录.....");
		getUsename().setText("306328413");
		getPassword().setText("1987623");
		getUsename().setEditable(false);
		jContentPane.setBackground(Color.blue);
		this.setVisible(true);
		getDenglu().setEnabled(false);
        zhuce.setEnabled(false);
		int x=(int)Toolkit.getDefaultToolkit().getScreenSize().getWidth();
		int y=(int)Toolkit.getDefaultToolkit().getScreenSize().getHeight();
		int num1=(x-this.getWidth())/2;
		int num2=(y-this.getHeight())/2;
		this.setLocation(num1, num2);
	
	}

	/**
	 * This method initializes jContentPane
	 * 
	 * @return javax.swing.JPanel
	 */
	private JPanel getJContentPane() {
		if (jContentPane == null) {
			TextUserpwd = new JLabel();
			TextUserpwd.setBounds(new Rectangle(3, 109, 76, 29));
			TextUserpwd.setHorizontalAlignment(SwingConstants.CENTER);
			TextUserpwd.setText("QQ密码:");
			TextUserpwd.setDisplayedMnemonic(KeyEvent.VK_UNDEFINED);
			TextUsername = new JLabel();
			TextUsername.setBounds(new Rectangle(2, 68, 77, 28));
			TextUsername.setDisplayedMnemonic(KeyEvent.VK_UNDEFINED);
			TextUsername.setHorizontalAlignment(SwingConstants.CENTER);
			TextUsername.setText("QQ号码:");
			jLabel = new JLabel();
			jLabel.setBounds(new Rectangle(-2, -9, 292, 67));
			jLabel.setIcon(new ImageIcon("./pic/qqqq.GIF"));
			jLabel.setText("");
			jContentPane = new JPanel();
			jContentPane.setLayout(null);
			jContentPane.add(jLabel, null);
			jContentPane.add(TextUsername, null);
			jContentPane.add(TextUserpwd, null);
			jContentPane.add(getUsename(), null);
			jContentPane.add(getPassword(), null);
			jContentPane.add(getDenglu(), null);
			jContentPane.add(getZhuce(), null);
			jContentPane.add(getCancel(), null);
			jContentPane.add(getLianjie(), null);
			jContentPane.add(getShezhi1(), null);
			
		}
		return jContentPane;
	}

	/**
	 * This method initializes usename	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	public JTextField getUsename() {
		if (usename == null) {
			usename = new JTextField();
			usename.setBounds(new Rectangle(88, 68, 118, 27));
			usename.setFont(new Font("Dialog", Font.PLAIN, 18));
		}
		return usename;
	}

	/**
	 * This method initializes password	
	 * 	
	 * @return javax.swing.JPasswordField	
	 */
	private JPasswordField getPassword() {
		if (password == null) {
			password = new JPasswordField();
			password.setBounds(new Rectangle(89, 108, 118, 29));
			password.setFont(new Font("Dialog", Font.PLAIN, 18));
		}
		return password;
	}

	/**
	 * This method initializes denglu	
	 * 	
	 * @return javax.swing.JButton	
	 */
	public static Chuangkou main=null;
	public JButton getDenglu() {
		if (denglu == null) {
			denglu = new JButton();
			denglu.setBounds(new Rectangle(216, 108, 60, 28));
			denglu.setText("登录");
			denglu.addActionListener(new java.awt.event.ActionListener() {
				@SuppressWarnings("deprecation")
				public void actionPerformed(java.awt.event.ActionEvent e) {
		         String mima=getPassword().getText();
		        
		         try {
		        	 bur=new BufferedReader(new InputStreamReader(socket.getInputStream()));
		 			print=new PrintWriter(new OutputStreamWriter(socket.getOutputStream()),true);
		        	
				} catch (UnknownHostException e2) {
					// TODO 自动生成 catch 块
					e2.printStackTrace();
				} catch (IOException ee) {
					// TODO 自动生成 catch 块
					ee.printStackTrace();
				}
		         if(usename.getText().equals(""))
		         {
		        	 JOptionPane.showMessageDialog(null, "请输入QQ号码");
		        	 usename.requestFocus();
		         }
		         else if(mima.equals(""))
		         {
		        	 JOptionPane.showMessageDialog(null, "密码不能为空");
		        	 getPassword().requestFocus();
		         }
		         else
		         {
					try {
						
						print.println("login");
						print.println(InetAddress.getLocalHost().getHostAddress());
						print.println(usename.getText().trim().toString());
						print.println(password.getText().trim().toString());
					   
						
						//um.setNumber(usename.getText().trim());
						
						String pass=bur.readLine().trim().toString();
					
						System.out.println(pass);
					    if(pass.equals("pass"))
					    {
					    	main=new Chuangkou();  //打开
					    	int num=Integer.parseInt(bur.readLine());
					    	System.out.println(num);
						
							//加载好友
							JButton jb[]=new JButton[num];
							int online=0;   //在线好友
							for(int i=0;i<num;i++)
							{
								String str1=bur.readLine();
								System.out.println("my friend info:"+str1);
								jb[i]=new JButton();
								String bf1[]=str1.split("/");
							    System.out.println(bf1[0]); 

								jb[i].setText(bf1[1]);
								ImageIcon ii=null;
								if(bf1[2].equals("1"))
								{
									ii=new ImageIcon("./pic/"+bf1[5]+".gif");
									 online++;
								}
								else
							    {
									ii=new ImageIcon("./pic/"+bf1[5]+"-1"+".gif");
								}
								
								jb[i].setIcon(ii);
							} 	
							
							    String str=bur.readLine();
							    System.out.println("my info:"+str);
								bf=str.split("/");
								main.jLabel3.setText(bf[2].toString());
								main.jLabel4.setText(bf[0].toString());
								main.jLabel5.setText(bf[3].toString());
								ImageIcon icon=new ImageIcon("./pic/"+Integer.parseInt(bf[4])+".gif");
							    main.jLabel2.setIcon(icon);
							    main.getMyfriend().setText("我 的 好 友 ("+online+"/"+num+")");
							    main.setTitle(usename.getText().trim().toString()+"在线");
							   
							    main.setXinxi(bf);
							    
							for(int i=0;i<jb.length;i++)
							{
								jb[i].addMouseListener(new MouseApp());
								main.jPanel.add(jb[i]);
							}
							main.setVisible(true);
					    	Login.this.dispose();
					    }
					    else if(pass.equals("sorry"))
					    {
					    	JOptionPane.showMessageDialog(null, "对不起,该用户已在某处登录了!");
					    	usename.setText("");
					    	password.setText("");
					    	usename.requestFocus();
					    }
					    else
					    {
					    	JOptionPane.showMessageDialog(null, "QQ号码或密码输入有误");
					    	password.setText("");
					    	password.requestFocus();
					    }
				      
					} catch (IOException e1) {
						JOptionPane.showMessageDialog(null, "登录失败");
					}
				
		         }
				}
			});
		}
		return denglu;
	}

	/**
	 * This method initializes zhuce	
	 * 	
	 * @return javax.swing.JButton	
	 */
	public JButton getZhuce() {
		if (zhuce == null) {
			zhuce = new JButton();
			zhuce.setBounds(new Rectangle(117, 149, 73, 29));
			zhuce.setText("注册");
			zhuce.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					new Zhece();
					Login.this.dispose();
					
				}
			});
		}
		return zhuce;
	}
    public void gengxin()
    {
    	
    }
	/**
	 * This method initializes cancel	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getCancel() {
		if (cancel == null) {
			cancel = new JButton();
			cancel.setBounds(new Rectangle(208, 150, 73, 28));
			cancel.setText("取消");
			cancel.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					Login.this.dispose();
				}
			});
		}
		return cancel;
	}

	/**
	 * This method initializes lianjie	
	 * 	
	 * @return javax.swing.JButton	
	 */
	public JButton getLianjie() {
		if (lianjie == null) {
			lianjie = new JButton();
			lianjie.setBounds(new Rectangle(215, 68, 61, 29));
			lianjie.setText("连网");
			lianjie.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					new LianJie(Login.this);
				    
				}
			});
		}
		return lianjie;
	}

	/**
	 * This method initializes shezhi1	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getShezhi1() {
		if (shezhi1 == null) {
			shezhi1 = new JButton();
			shezhi1.setBounds(new Rectangle(10, 149, 92, 29));
			shezhi1.setText("高级设置");
			shezhi1.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					JOptionPane.showMessageDialog(null, "尚未制作好!请等待...");
				}
			});
		}
		return shezhi1;
	}
   public static void main(String args[])
   {
	   new Login();
   }

		public Socket getSocket() {
			return socket;
		}
		
		public void setSocket(Socket socket) {
			this.socket = socket;
		}
		class MouseApp extends MouseAdapter
		{
			public void mouseClicked(MouseEvent e)
			{
				//if(e.getSource()==)
			}
		}
}

⌨️ 快捷键说明

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