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

📄 login.java

📁 java编写聊天室
💻 JAVA
字号:

import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.net.*;
import java.util.*;
import javax.swing.*;

//import java.applet.*;

public class Login extends JFrame implements ActionListener{
	Thread chatroomthread=null;
	int sPort;
	JLabel name,password,welcome,tupian;
	JTextField juseridfield;
	JPasswordField jpasswordfield;
	JButton logonButton;
	JButton cancelButton;
	JButton zhuceButton;
	Socket soc=null;
    PrintStream ps=null;
    public BufferedReader reader;
    public PrintWriter writer;
  //  Listen listen=null;

      String userName;
	  String userPassword;
	
	
	public  Login(){
		super("登 录");
		Container container=getContentPane();
		container.setLayout(null);
		name=new JLabel("用户名",JLabel.CENTER);
		password=new JLabel("密    码",JLabel.CENTER);
		welcome=new JLabel("-----------------welcome----------------");
		
		
		//ImageIcon g=new ImageIcon("images/girl.gif");
		//tupian=new JLabel(g);
		
		juseridfield=new JTextField(16);
		jpasswordfield=new JPasswordField(16);
		logonButton=new JButton("登录");
		cancelButton=new JButton("取消");
		zhuceButton=new JButton("注册");
		
		container.add(welcome);
		container.add(name);
		container.add(password);
		container.add(juseridfield);
		container.add(jpasswordfield);
		container.add(logonButton);	
		logonButton.addActionListener(this);
		container.add(cancelButton);
		cancelButton.addActionListener(this);
		container.add(zhuceButton);
		zhuceButton.addActionListener(this);
		
		//container.add(tupian);
		//tupian.setBounds(0, 0, 50, 50);
		
		welcome.setBounds(50, 0, 300, 50);
		name.setBounds(0, 50, 150, 30);
		juseridfield.setBounds(120, 50, 120, 30);
		password.setBounds(0, 120, 150, 30);
		jpasswordfield.setBounds(120, 120, 120, 30);
		logonButton.setBounds(50, 200, 70, 30);
		zhuceButton.setBounds(125,200,70,30);
		cancelButton.setBounds(200, 200, 70, 30);
		
		setResizable(false);//设置为false用户不能调整大小
		setSize(300,300);
		setVisible(true);
		//setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		addWindowListener(new WindowAdapter()
		{
			public void windowClosing(WindowEvent e)
			{
				disconnect();
				System.exit(0);
			}
		});
	}
	
	public void actionPerformed(ActionEvent e){
		if(e.getActionCommand().equals("登录")){
			if(juseridfield.getText().equals("")){
				String inputValuename = JOptionPane.showInputDialog("你还没有输入用户名,请输入!");
				juseridfield.setText(inputValuename);
			}
			else if(jpasswordfield.getText().equals("")){
				JOptionPane.showMessageDialog(null, "密码不能为空!", "提示", JOptionPane.ERROR_MESSAGE);
				jpasswordfield.requestFocus();
			}
			else if(soc==null){
				 try{
					  sPort=6633;
					  //System.out.println("尝试与服务器连接");
					  String sName="127.0.0.1";
					  soc=new Socket(sName,sPort);
					  //soc=new Socket("222.18.181.153",sPort);
					 // System.out.println("连接完成");
					  writer=new PrintWriter(soc.getOutputStream(),true);
					  reader=new BufferedReader(new InputStreamReader(soc.getInputStream()));					
					 
						  
					 userName=juseridfield.getText();
				     userPassword=jpasswordfield.getText();
						//使用输出流传送用户名和密码
						  writer.println("LOG:"+userName+":"+userPassword+":");
						  getMessage();  //diao yong
				  }catch(Exception ie){
					  System.out.println("连接失败");
				  }
				  /*finally{
					  try{
						  if(soc!=null) soc.close();
					  }catch(IOException ie){}
				  }*/
			}
		}
		if(e.getActionCommand().equals("取消")){
			juseridfield.setText("");
			jpasswordfield.setText("");
			juseridfield.requestFocus();
		}
		if(e.getActionCommand().equals("注册")){
			Register register=new Register(this);
			this.setVisible(false);
		}		
	}

	void getMessage(){
		
		try{
				String message;
				message=reader.readLine();
				if(message.equals("登录失败")){
					//弹出错误原因
					JOptionPane.showMessageDialog(null, "登录失败!", "提示", JOptionPane.ERROR_MESSAGE);
					juseridfield.setText("");
					jpasswordfield.setText("");
					juseridfield.requestFocus();
					//Register register=new Register();
					disconnect();
				}
				else if(message.equals("登录成功")){
                      //	如果登录成功则进入 聊天室
					this.setVisible(false);
					chatRoom chat=new chatRoom(soc,userName);
					chatroomthread=new Thread(chat);
					chatroomthread.start();
					//cr.start();
				}
			}
		catch(Exception e){}
		}
	
/***********************************************************************************/	
	

	public void disconnect()
	{
	  if(soc!=null)
		{
	      try
			  {
				writer.println("断开连接");
				writer.flush();
				soc=null;
				soc.close();
		       }
          catch(IOException e)
			  {
		        System.out.println("Error:"+e);
			  }
           finally
			{}
	    }
	}
	
	public static void main(String[] args){
		Login jk1=new Login();
	}
}
	
	
	
	
	

⌨️ 快捷键说明

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