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

📄 login.java

📁 连接测试系统
💻 JAVA
字号:
package com.cnu.cie.olts.client;import java.awt.BorderLayout;import java.awt.Event;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowEvent;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetAddress;import java.net.Socket;import java.net.SocketException;import java.security.MessageDigest;import javax.swing.BoxLayout;import javax.swing.ComboBoxModel;import javax.swing.DefaultComboBoxModel;import javax.swing.JButton;import javax.swing.JComboBox;import javax.swing.JFormattedTextField;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPasswordField;import javax.swing.JTextField;import javax.swing.WindowConstants;import javax.swing.SwingUtilities;import com.cnu.cie.olts.client.admin.AdminFrame;import com.cnu.cie.olts.client.student.StudentFrame;import com.cnu.cie.olts.client.teacher.TeacherFrame;/*** This code was edited or generated using CloudGarden's Jigloo* SWT/Swing GUI Builder, which is free for non-commercial* use. If Jigloo is being used commercially (ie, by a corporation,* company or business for any purpose whatever) then you* should purchase a license for each developer using Jigloo.* Please visit www.cloudgarden.com for details.* Use of Jigloo implies acceptance of these licensing terms.* A COMMERCIAL LICENSE HAS NOT BEEN PURCHASED FOR* THIS MACHINE, SO JIGLOO OR THIS CODE CANNOT BE USED* LEGALLY FOR ANY CORPORATE OR COMMERCIAL PURPOSE.*/public class Login extends javax.swing.JFrame {	private JLabel jLabel1;	private JLabel pslabel;	private JLabel statelabel;	private JComboBox statecombobox;	private JButton loginbt;	private JTextField porttext;	private JLabel portlabel;	private JTextField iptext;	private JLabel iplabel;	private JButton settingbt;	private JPasswordField pstext;	private JTextField IDtext;		private boolean unfold=false;		static Socket socket;		static BufferedReader bufreader=null;	static PrintWriter pswriter=null;	public static String id=null;	public static String ps=null;	public static String status=null;	public static String serverip=null;	public static int    serverport=5000;	/**	* Auto-generated main method to display this JFrame	*/	public static void main(String[] args) {		SwingUtilities.invokeLater(new Runnable() {			public void run() {				Login inst = new Login();				inst.setLocationRelativeTo(null);				inst.setVisible(true);			}		});	}		public Login() {		super();		initGUI();	}		//实现关闭登录程序要进行的操作	  protected void processWindowEvent(WindowEvent e)          	 {	    super.processWindowEvent(e);	    if (e.getID() == WindowEvent.WINDOW_CLOSING) {	    				try {				if(socket!=null&&!socket.isClosed()){					socket.close();					socket=null;				}				if(bufreader!=null)					bufreader.close();				if(pswriter!=null)					pswriter.close();			} catch (IOException e1) {				// TODO Auto-generated catch block				e1.printStackTrace();			}			System.exit(0);	    }	  }		private void initGUI() {		try {			setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);			getContentPane().setLayout(null);			this.setTitle("\u767b\u5f55\u8054\u673a\u6d4b\u8bd5\u7cfb\u7edf");			{				jLabel1 = new JLabel();				getContentPane().add(jLabel1);				jLabel1.setText("\u7528\u6237\u540d");				jLabel1.setBounds(45, 31, 47, 21);				jLabel1.setName("idlabel");			}			{				IDtext = new JTextField();				getContentPane().add(IDtext);				IDtext.setBounds(99, 31, 119, 21);				IDtext.setName("idtext");			}			{				pslabel = new JLabel();				getContentPane().add(pslabel);				pslabel.setText("\u5bc6    \u7801");				pslabel.setBounds(45, 66, 47, 19);			}			{				pstext = new JPasswordField();				getContentPane().add(pstext);				pstext.setBounds(99, 64, 119, 21);			}			{				statelabel = new JLabel();				getContentPane().add(statelabel);				statelabel.setText("\u8eab    \u4efd");				statelabel.setBounds(45, 97, 47, 14);			}			{				ComboBoxModel statecomboboxModel = 					new DefaultComboBoxModel(							new String[] { "学生", "教师" ,"管理员" });				statecombobox = new JComboBox();				getContentPane().add(statecombobox);				statecombobox.setModel(statecomboboxModel);				statecombobox.setBounds(99, 94, 79, 21);			}			{				loginbt = new JButton();				getContentPane().add(loginbt);				loginbt.setText("\u767b\u5f55");				loginbt.setBounds(159, 134, 68, 21);				loginbt.addActionListener(new ActionListener() {					public void actionPerformed(ActionEvent evt) {						loginbtActionPerformed(evt);					}				});			}			{				settingbt = new JButton();				getContentPane().add(settingbt);				settingbt.setText("\u8bbe\u7f6e");				settingbt.setBounds(49, 134, 65, 21);				settingbt.addActionListener(new ActionListener()  {				      public void actionPerformed(ActionEvent e) {				          if(unfold)				        	  setSize(300, 250);				          else				        	  setSize(300, 200);					          unfold=!unfold;				        }				      });			}			{				iplabel = new JLabel();				getContentPane().add(iplabel);				iplabel.setText(" \u5730\u5740");				iplabel.setBounds(25, 183, 29, 14);			}			{				iptext = new JTextField();				getContentPane().add(iptext);				iptext.setBounds(61, 180, 85, 21);				iptext.setText("127.0.0.1");			}			{				portlabel = new JLabel();				getContentPane().add(portlabel);				portlabel.setText("\u7aef\u53e3");				portlabel.setBounds(186, 183, 30, 14);			}			{				porttext = new JTextField();				getContentPane().add(porttext);				porttext.setText("5000");				porttext.setBounds(222, 180, 41, 21);			}			pack();			this.setSize(300, 200);			this.setResizable(false);		} catch (Exception e) {			e.printStackTrace();		}	}		public  void loginbtActionPerformed(ActionEvent evt) {		//System.out.println("loginbt.actionPerformed, event="+evt);		//TODO add your code for loginbt.actionPerformed		id=IDtext.getText().trim();  	  	ps=pstext.getText().trim();	  	status=statecombobox.getSelectedItem().toString();	  	serverip=iptext.getText();	  	serverport=Integer.parseInt(porttext.getText());	  	if("".equals(id)){	  		JOptionPane.showMessageDialog(null,"用户名不能为空","登录失败",JOptionPane.ERROR_MESSAGE);	  		return;	  	}	  	if("".equals(ps)){	  		JOptionPane.showMessageDialog(null,"密码不能为空","登录失败",JOptionPane.ERROR_MESSAGE);	  		return;	  	}	  	    	  	try {	  		if(socket!=null&&!socket.isClosed()){				socket.close();	  		}	  		socket=new Socket(serverip,serverport); System.out.println("login socket is--"+socket.toString());	  		bufreader=new BufferedReader(new InputStreamReader(socket.getInputStream()));			pswriter=new PrintWriter(socket.getOutputStream());			//密码md5加密		//	byte[]   data   =ps.getBytes();		///	MessageDigest   md   =   MessageDigest.getInstance("MD5");   		///	ps   =   new String(md.digest(data));   						String st="LOGIN:"+id+":"+ps+":"+status;   			pswriter.println(st);			pswriter.flush();			loginbt.setEnabled(false);			new Thread(){public void run(){				String loginfostring = "";				try {					loginfostring = bufreader.readLine();				} catch (IOException e) {					// TODO Auto-generated catch block					if(socket!=null&&!socket.isClosed())						System.out.println(e.getMessage());					loginbt.setEnabled(true);				}				if(loginfostring==null){					JOptionPane.showMessageDialog(null,"网络不通或者服务器没开启服务","连接失败",JOptionPane.ERROR_MESSAGE);					loginbt.setEnabled(true);				}				else if("LOGINSUCC".equals(loginfostring)){					if("学生".equals(status))						new StudentFrame(socket,bufreader,pswriter).setVisible(true);					else if("教师".equals(status))						new TeacherFrame(socket,bufreader,pswriter).setVisible(true);					else new AdminFrame(socket,bufreader,pswriter).setVisible(true);					setVisible(false);				}				else if("LOGINFAIL".equals(loginfostring)){					JOptionPane.showMessageDialog(null,"该身份的用户名或者密码输入错误","登录失败",JOptionPane.ERROR_MESSAGE);					loginbt.setEnabled(true);				}				else if("ALREADYONLINE".equals(loginfostring)){					JOptionPane.showMessageDialog(null,"你已经在线了,不能重复登录","登录失败",JOptionPane.ERROR_MESSAGE);					loginbt.setEnabled(true);				}			}}.start();				  	 } catch (Exception e1) {				// TODO Auto-generated catch block	  		 	JOptionPane.showMessageDialog(null,"网络连接失败,请检查网络设置以及目标主机服务是否启动","登录失败",JOptionPane.ERROR_MESSAGE);	  		 	loginbt.setEnabled(true);	  		 	if(socket!=null&&!socket.isClosed())					try {						socket.close();					} catch (IOException e) {						System.out.println(e.getMessage());					}	  		 	System.out.println(e1.getMessage());	  	 		}		        System.out.println("id--"+id);	        System.out.println("ps--"+ps);	        System.out.println("state--"+status);	        System.out.println("ip--"+serverip);	        System.out.println("port--"+serverport);	}}

⌨️ 快捷键说明

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