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

📄 remenberdictionary.java

📁 一个采用Java Socket编程实现的C/S模式的记单词软件
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package project;

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
import java.util.Vector;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextArea;
import javax.swing.JTextField;

public class Remenberdictionary extends JFrame implements Runnable,ActionListener{
    
    JTextField text1;
    JTextArea  text2;
    JButton buttonsend;
    InetAddress IP;
    DBS b1;
    public Remenberdictionary() {
        super("我是服务器");
        text1 = new JTextField();
        text2 = new JTextArea();
        buttonsend = new JButton("发送信息");
        buttonsend.addActionListener(this);
        
        this.setLayout(new BorderLayout());
        this.add(text1,"North");
        this.add(text2,"Center");
        this.add(buttonsend,"South");
        this.setVisible(true);
        this.setSize(300,250);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        b1 = new DBS();
        Thread thread = new Thread(this);
        thread.start();
    }
    
    
    public static void main(String[] args) {
        Remenberdictionary dictionary =new Remenberdictionary();  
    }
    
    /////////////判断接收到的数据报的请求/////////////
    private void getDatagramPacket(DatagramPacket data){
        DatagramPacket dataPaket;
        byte[] buffer = new byte[1000]; 
        InetAddress IP;
        dataPaket = data;
        IP = dataPaket.getAddress();
        buffer = dataPaket.getData();
        String state = new String(buffer,0,3);
        String str = new String(buffer,3,dataPaket.getLength());
        int a = Integer.parseInt(state);
        switch(a){
            case 111: 
                // text2.append("用户:" + str + "\n");
                login(str);                
                break;
            case 112:
                // text2.append("用户注册提交\n");
                eroll(str);
                break;
            case 113:
                // text2.append("用户选级确定,浏览相应的表\n");
                browse(str);
                break;
            case 114:        
                //text2.append("用户要保存,即录入\n");
                read_in(str);
                break;            
            case 115:
                // text2.append("用户要修改密码\n");
                changepassword(str);
                break;
            case 116:
                // text2.append("添加生词到生词本\n");
                Add_Strangeword(str);
                break;
            case 117:             
                Delete(str);
                break;
            case 118:
                //  text2.append("管理员查看用户\n");
                Lookover();
                break;
            case 119:
                opennewword(str);//打开生词本
                break;
            case 120:
                //text2.append("进入单个词查询");
                Inserch_oneword(str);         
                break;
                
            case 121: //管理员点击确认后
                text2.append("操作进行中操作进行中\n");
                Recongnize(str);
                break;
            case 122:       //删除生词本中记录
                Delet_newWord(str);
                break;   
        }
    }
    public void run(){
        DatagramSocket data = null;
        DatagramPacket datap = null;
        byte buffer[] = new byte[1000];        
        try {
            datap = new DatagramPacket(buffer,buffer.length);
            data = new DatagramSocket(9999);             
        } catch (SocketException ex) {
            ex.printStackTrace();
        }
        while(true){
            try {                 
                data.receive(datap);
                //text2.append("收到数据包");
                IP = datap.getAddress();
                getDatagramPacket(datap);                
            } catch (IOException ex) {
                ex.printStackTrace();
            }           
        }
    }
    //////处理从网络中接收到字符串,转化为客户端发送的信息///////
    private Vector Deal(String st1){
        String st = st1;
        String st2;
        int i = 0;
        int m = 0;
        int k = -1;
        Vector vector1 = new Vector();
        for(i = 0; i < st.length(); i++ ){
            if(st.charAt(i) == ' '){            
                st2 = st.substring(k+1,i);
                vector1.add(st2);
                k = i;
            }
        }
        return vector1;
    }
    ///////////////用户登录的信息获得 //////////////(已测)
    private void login(String st1){
        String username;
        String Password;
        String Identity;
        String st = st1;
        String str;
        
        Vector vector;
        vector = Deal(st);
        username = (String)vector.get(0);
        Password = (String)vector.get(1);
        Identity = (String)vector.get(2);
        str = b1.Check_PassWord(username);
        if(str.equalsIgnoreCase(Password)){
            sentmessage("111ok ");        
        }
        else{          
            if(str.equals("")){
                sentmessage("111no2 ");
            }
            else{
                sentmessage("111no1 ");
            }
            
        }       
    }
    ////////////////用户查看所选级的全部单词//////////////////(已测)
    private void browse(String st1){
        String st = st1;
        int table;
        String TableName;
        Vector vector1 ;
        String sent = null;
        vector1 = Deal(st);
        TableName = (String)vector1.get(0);
        table = Integer.parseInt(TableName);
        if(table == 4){
            sent = b1.Check_SomeDegree_AllWord("4"); 
        }
        if(table == 6){
            sent = b1.Check_SomeDegree_AllWord("6");
        }       
        sentmessage("113"+sent+" ");         
    }
    //////////////////用户注册信息获得///////////////////(已测)
    private void eroll(String st1){
        String st = st1;
        String username;
        String Password;
        String name;
        String sex;
        String email;
        String degree;
        int   deg;
        Vector vector1;
        vector1 = Deal(st);
        username = (String)vector1.get(0);
        Password = (String)vector1.get(1);
        name = (String)vector1.get(2);
        sex = (String)vector1.get(3);
        email = (String)vector1.get(4);
        degree = (String)vector1.get(5);
        deg = Integer.parseInt(degree);       
        if(b1.User_Insert(username,Password,name,sex,email,deg)){          
            b1.Create_StrangeWord_Table(username);
            sentmessage("112ok ");
        }
        else{
            sentmessage("112no ");
        }
    }
        /////////////////录入单词/////////////////(已测试)
        private void read_in(String st1){
            String st = st1;
            String Wordname;
            String Wordtype;
            String WordMeanse;
            String WordLevle;
            Vector vector1;
            int degree;
            vector1 = Deal(st);
            Wordname = (String)vector1.get(0);
            Wordtype = (String)vector1.get(1);
            WordMeanse = (String)vector1.get(2);
            WordLevle = (String)vector1.get(3);
            degree = Integer.parseInt(WordLevle);
            if(b1.newWord_Insert(Wordname,Wordtype,WordMeanse,degree)){

⌨️ 快捷键说明

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