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

📄 client.java

📁 这是我收集的毕业师兄的毕业设计,具体的功能我也不清楚,不过是可以用来答辩的,完整的毕业设计,有源代码,可爱执行文件,文档资料.
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
import java.io.*;
import java.net.*;
import java.math.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import security.*;
import decrypt.*;
import java.lang.*;
import javax.swing.*;
import javax.swing.tree.*;
import javax.swing.event.*;
import java.util.*;
import java.applet.*;
public class Client extends Thread //implements ActionListener
{Socket connection;
static DataInputStream  input;
static DataOutputStream  output;
static int ispass=0;                  //是否有权限察看本地通话记录
static security_kind hong=new security_kind();
static decrypt_kind dehong=new decrypt_kind();
static wpass w_pass=new wpass();
static String user_name="";
static String user_word="";
public Client()
	{	try
		{connection=new Socket(InetAddress.getLocalHost(),9876);
		input=new DataInputStream(connection.getInputStream());
                output=new DataOutputStream(connection.getOutputStream());
		}
	 catch(Exception e){}
	this.start();
	}
public void run()
		{String listenstr=new String("");
          try
			{while(true)
				{ 
                         listenstr=input.readUTF();
		         if(listenstr.startsWith("PASSOK"))
					{
			    	         Client.user_name=Client.w_pass.passname.getText();
					 Client.user_word=Client.w_pass.password.getText();
                                         Client.w_pass.passname.setText("");Client.w_pass.password.setText("");
				         Client.w_pass.setVisible(false);
					 Mail wmail=new Mail(listenstr.substring(6));
                                        }
                        else if(listenstr.startsWith("Sorry"))
                                        {wmessage main3=new wmessage("发送提示","帐户名或密码错误","wrong.jpg");main3.setVisible(true);}
				else if(listenstr.startsWith("online"))
					{String tempman=new String(listenstr.substring(6));String tempon=new String("");int tempnumber=tempman.indexOf("\1");
				     for(int i=0;i<tempnumber;i+=10)
						{tempon+=tempman.substring(i,i+10);}
				     wmessage online=new wmessage("在线人列表","在线人:"+tempon,"提示.jpg");
					}
                          else if(listenstr.startsWith("updataok"))
                                        {wmessage updataok=new wmessage("修改密码成功","            修改密码成功","提示.jpg");updataok.setVisible(true);Mail.update.setVisible(false);
                                        }
                          else if(listenstr.startsWith("sendok"))
                                        {wmessage main1=new wmessage("发送提示","             信息已经发送","提示.jpg");main1.setVisible(true);}
                          else if(listenstr.startsWith("sendfalse"))
                                        {wmessage main2=new wmessage("发送提示","     此人不在线","wrong.jpg");main2.setVisible(true);}
                          
				}
			}
			catch(Exception e){}
		}
public static void main(String args[]) throws Exception
	{
	  new Client();
	 }
}
/****************************************登陆窗口****************************************************************/
class wpass extends Frame implements ActionListener,ItemListener
{Label label=new Label("登录窗口");
Label label2=new Label("请输入用户名");
Label label3=new Label("请输入密码");
Label label4=new Label("             请选择部门");
Panel panel=new Panel();
Panel panel2=new Panel();
Panel psouth=new Panel();
static TextField passname=new TextField(10);
TextField password=new TextField(10);
String passdebe;
static int passnumber=0;
Checkbox ch_box1,ch_box2,ch_box3;CheckboxGroup ch_dept;
TextArea securit=new TextArea();
Button b1=new Button("确定");
Button b2=new Button("取消");
Imagecanvas canvas=new Imagecanvas("登陆界面.jpg");
 wpass()
	{super("登陆界面           客户端");
	 setBounds(220,150,150,200);
         setResizable(false);
         ch_dept=new CheckboxGroup();
                  ch_box1=new Checkbox("管理部",true,ch_dept);passdebe="manage";
                  ch_box2=new Checkbox("人事部",false,ch_dept);
                  ch_box3=new Checkbox("物流部",false,ch_dept);
                  panel.setLayout(new GridLayout(3,4));
	 panel.add(new Label());panel.add(label2);panel.add(passname);panel.add(new Label());
	 panel.add(new Label());panel.add(label3);panel.add(password);panel.add(new Label());
         panel.add(new Label());panel.add(ch_box1);panel.add(ch_box2);panel.add(ch_box3);
	 psouth.add(b1);psouth.add(b2);
         ch_box1.addItemListener(this);ch_box2.addItemListener(this);ch_box3.addItemListener(this);
	 b1.addActionListener(this);
         b2.addActionListener(this);
         password.setEchoChar('*');
	 add("North",canvas);
	 add("Center",panel);
	 add("South",psouth);
         pack();
         addWindowListener(new WindowAdapter()
		{public void windowClosing(WindowEvent e)
			{System.exit(0);
			}
		});
		show();
	}
public void itemStateChanged(ItemEvent e)
	{if(e.getItemSelectable()==ch_box1)
	       passdebe="manage";
     else if(e.getItemSelectable()==ch_box2)
	       passdebe="man";
     else if(e.getItemSelectable()==ch_box3)
	       passdebe="thing";
	}

public void actionPerformed(ActionEvent e)
	{if(e.getSource()==b1)
            {if(passname.getText().equals(""))
                 {wmessage mess1=new wmessage("错误提示","   帐户名不能为空","wrong.jpg");mess1.setVisible(true);}
             else
	        {String validate="pass"+passname.getText()+"\1"+password.getText()+"\2"+passdebe;
                 try
	          	{
                    Client.output.writeUTF(Client.hong.RSA(validate));
	          	}
		    catch(Exception e1){}
                }
            }
         else if(e.getSource()==b2)
              {System.exit(0);}
	}
}
/******************************************插入图像****************************************************************/
class Imagecanvas extends Canvas
{Toolkit tool;Image myimage;
 Imagecanvas (String s)
 {getSize();
    tool=getToolkit();
     myimage=tool.getImage(s);
 }
public void paint(Graphics g)
  {g.drawImage(myimage,30,10,myimage.getWidth(this),myimage.getHeight(this),this);
 }
public Dimension getPreferredSize()
  {return new Dimension(160,160);
  }
}
/****************************************发信息窗口****************************************************************/
class Mail extends Frame implements Runnable,ActionListener,ItemListener
{
Label lname=new Label("发信人");
Label lsent=new Label("请选择收信人");
Label w_sent=new Label("请输入要发的信息");
Label w_receive=new Label("聊天记录区");
Panel pcenter=new Panel();
Panel pnorth=new Panel();
Panel psouth=new Panel();
TextField passname=new TextField(Client.user_name);
TextField password=new TextField(15);
Choice choice=new Choice();
Choice cname1=new Choice();
Choice cname2=new Choice();
Choice cname3=new Choice();
TextArea smessage=new TextArea();
TextArea a_receive=new TextArea();
String temporary=new String("");
MenuBar menubar;Menu menu1,menu2,menu3,menu4,menu5;
MenuItem me_item1,me_item2,me_item3,me_item4,me_item5,me_item6,me_item7,me_item8,me_item9,me_item10,me_item11,me_item12,me_item13,me_item14,me_item15;
int x=0,y=0,is_number=0;
Button b1=new Button("发送信息");
Button b2=new Button("清除聊天记录");
int port=666;
int inport;
byte data[]=new byte[8192];
DatagramPacket pack=null;
int choicestart=0,choiceend=10;
int array_port[][]=new int[10][10];
int cnumber=0;
int choiceport=0,cnameport=0;
FileDialog file_open;
String toman=new String("");
Date date=new Date();
static updateword update;
String detoday,today;
int condeptnumber=0;
      Mail(String s) 
	{super(Client.user_name+"--发信息窗口");
	setBounds(180,50,500,500);
	  setResizable(false);
        menubar=new MenuBar();menu1=new Menu("功能");menu2=new Menu("查看");menu3=new Menu("字符串加密");menu5=new Menu("文件加密");
        me_item1=new MenuItem("修改用户密码");me_item2=new MenuItem("重新登陆");me_item3=new MenuItem("退出登陆");
        me_item4=new MenuItem("查看在线人数");me_item5=new MenuItem("查看聊天记录");
        me_item6=new MenuItem("凯撒加密");me_item7=new MenuItem("DES加密");me_item8=new MenuItem("CBC加密");me_item9=new MenuItem("数字签名");
        me_item10=new MenuItem("解密凯撒加密");me_item11=new MenuItem("解密DES加密");me_item12=new MenuItem("解密CBC加密");me_item13=new MenuItem("解密数字签名");
        me_item14=new MenuItem("文件加密");me_item15=new MenuItem("文件解密");
        menu1.add(me_item1);menu1.add(me_item2);menu1.add(me_item3);
        menu2.add(me_item4);menu2.add(me_item5);
        menu3.add(me_item6);menu3.add(me_item7);menu3.add(me_item8);menu3.add(me_item9);
        menu5.add(me_item14);menu5.add(me_item15);
        menubar.add(menu1);menubar.add(menu2);menubar.add(menu3);menubar.add(menu5);
        setMenuBar(menubar); 
/****************************************转换日期****************************************************************/
        if(date.toString().substring(4,7).equals("Jan"))
          detoday=new String("1月"+date.toString().substring(8,10)+"日");
        else if(date.toString().substring(4,7).equals("Feb"))
          detoday=new String("2月"+date.toString().substring(8,10)+"日");
        else if(date.toString().substring(4,7).equals("Mar"))
          detoday=new String("3月"+date.toString().substring(8,10)+"日");
        else if(date.toString().substring(4,7).equals("Apr"))
          detoday=new String("4月"+date.toString().substring(8,10)+"日");
        else if(date.toString().substring(4,7).equals("May"))
          detoday=new String("5月"+date.toString().substring(8,10)+"日");
        else if(date.toString().substring(4,7).equals("Jun"))
          detoday=new String("6月"+date.toString().substring(8,10)+"日");
       else if(date.toString().substring(4,7).equals("Jul"))
          detoday=new String("7月"+date.toString().substring(8,10)+"日");
        else if(date.toString().substring(4,7).equals("Aug"))
          detoday=new String("8月"+date.toString().substring(8,10)+"日");
        else if(date.toString().substring(4,7).equals("Sep"))
          detoday=new String("9月"+date.toString().substring(8,10)+"日");
        else if(date.toString().substring(4,7).equals("Oct"))
          detoday=new String("10月"+date.toString().substring(8,10)+"日");
        else if(date.toString().substring(4,7).equals("Nov"))
          detoday=new String("11月"+date.toString().substring(8,10)+"日");
        else if(date.toString().substring(4,7).equals("Dec"))
          detoday=new String("12月"+date.toString().substring(8,10)+"日");
		if(detoday.substring(2,3).equals("0"))
		{today=detoday.substring(0,2)+detoday.substring(3);}
		else today=detoday;
        file_open=new FileDialog(this,"保存文件",FileDialog.LOAD);
        file_open.setVisible(false);
        int deptnumber=s.indexOf("\1");
        inport=Integer.parseInt(s.substring(1,5));
        String deptmessage=new String(s.substring(5,deptnumber).trim());
	int number=(deptmessage.length())/10+1;
	    condeptnumber=number;
        pack=new DatagramPacket(data,data.length);
        choice.add("请选择");
        cname1.add("请选择");cname2.add("请选择");cname3.add("请选择");
		if(number==1)
		{choiceend=deptmessage.length();}
        for(int i=1;i<=number;i++)
           {  choice.add(deptmessage.substring(choicestart,choiceend));
                  if((choiceend+10)<=deptmessage.length())
            {choicestart+=10;choiceend+=10;}
            else 
            {choicestart+=10;choiceend+=(deptmessage.length()-choicestart);}     
          }
        int cnamenumber=s.indexOf("\2");
/****************************************添加权限****************************************************************/
        if(number!=0)
        {String cnamemessage=new String(s.substring(deptnumber+1,cnamenumber).trim());
        cnumber=(cnamemessage.length())/14;
        choicestart=10;choiceend=14;
        for(int i=1;i<=cnumber;i++)
           {array_port[1][i]=Integer.parseInt((cnamemessage.substring(choicestart,choiceend)));

⌨️ 快捷键说明

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